コード例 #1
0
ファイル: object.c プロジェクト: JackieXie168/GCD
DISPATCH_NOINLINE
_os_object_t
_os_object_retain_with_resurrect(_os_object_t obj)
{
	int xref_cnt = _os_object_xrefcnt_inc(obj);
	if (slowpath(xref_cnt < 0)) {
		_OS_OBJECT_CLIENT_CRASH("Resurrection of an overreleased object");
	}
	if (slowpath(xref_cnt == 0)) {
		_os_object_retain_internal(obj);
	}
	return obj;
}
コード例 #2
0
ファイル: object.c プロジェクト: Kentzo/AOS-libdispatch
void
_dispatch_retain(dispatch_object_t dou)
{
	(void)_os_object_retain_internal(dou._os_obj);
}