250
251
252
253
254
255
256
257
258
259
260
261
262
263
|
if ((--block->flags & OF_BLOCK_REFCOUNT_MASK) == 0) {
assert(of_spinlock_unlock(&spinlocks[hash]));
if (block->flags & OF_BLOCK_HAS_COPY_DISPOSE)
block->descriptor->dispose_helper(block);
free(block);
}
assert(of_spinlock_unlock(&spinlocks[hash]));
#endif
}
void
_Block_object_assign(void *dst_, const void *src_, const int flags_)
|
>
>
|
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
|
if ((--block->flags & OF_BLOCK_REFCOUNT_MASK) == 0) {
assert(of_spinlock_unlock(&spinlocks[hash]));
if (block->flags & OF_BLOCK_HAS_COPY_DISPOSE)
block->descriptor->dispose_helper(block);
free(block);
return;
}
assert(of_spinlock_unlock(&spinlocks[hash]));
#endif
}
void
_Block_object_assign(void *dst_, const void *src_, const int flags_)
|