Definition at line 80 of file OOAsyncQueue.m.
◆ doDequeAndUnlockWithAcquiredLock
- (id) doDequeAndUnlockWithAcquiredLock |
|
|
|
Extends class OOAsyncQueue.
Definition at line 64 of file OOAsyncQueue.m.
275{
277 id result;
278
279 if (_head == NULL)
280 {
281
283 }
284
285
286
287
288 element = _head;
290 if (_head == NULL) _tail = NULL;
291 --_elemCount;
292
293
294 result = [element->object autorelease];
295
296
297 [self recycleElementWithAcquiredLock:element];
298
299
300 assert((_head == NULL && _tail == NULL && _elemCount == 0) || (_head != NULL && _tail != NULL && _elemCount != 0));
301
302
303 [_lock unlockWithCondition:(_head == NULL) ? kConditionNoData : kConditionQueuedData];
304
305 return result;
306}
OOAsyncQueueElement * next
◆ doEmptyQueueWithAcquiredLock
- (void) doEmptyQueueWithAcquiredLock |
|
|
|
Extends class OOAsyncQueue.
Definition at line 64 of file OOAsyncQueue.m.
252{
254
255
256 while (_head != NULL)
257 {
258
259 element = _head;
261 --_elemCount;
262
263
264 [element->object release];
265
266
267 [self recycleElementWithAcquiredLock:element];
268 }
269
270 _tail = NULL;
271}
◆ recycleElementWithAcquiredLock:
Extends class OOAsyncQueue.
Definition at line 64 of file OOAsyncQueue.m.
310{
312 {
313
314 element->
next = _pool;
315 _pool = element;
316 ++_poolCount;
317 }
318 else
319 {
320
322 }
323}
OOINLINE void FreeElement(OOAsyncQueueElement *element)
The documentation for this category was generated from the following file: