11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
* Alternatively, it may be distributed under the terms of the GNU General
* Public License, either version 2 or 3, which can be found in the file
* LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
* file.
*/
#include "config.h"
#import "OFRunLoop.h"
#import "OFDictionary.h"
#import "OFThread.h"
#import "OFSortedList.h"
#import "OFMutex.h"
#import "OFTimer.h"
|
>
>
|
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
* Alternatively, it may be distributed under the terms of the GNU General
* Public License, either version 2 or 3, which can be found in the file
* LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
* file.
*/
#include "config.h"
#include <assert.h>
#import "OFRunLoop.h"
#import "OFDictionary.h"
#import "OFThread.h"
#import "OFSortedList.h"
#import "OFMutex.h"
#import "OFTimer.h"
|
256
257
258
259
260
261
262
263
264
265
266
267
268
269
|
ADD(OFRunLoop_AcceptQueueItem, {
queueItem->block = [block copy];
})
}
#endif
#undef ADD
- init
{
self = [super init];
@try {
timersQueue = [[OFSortedList alloc] init];
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
|
ADD(OFRunLoop_AcceptQueueItem, {
queueItem->block = [block copy];
})
}
#endif
#undef ADD
+ (void)OF_cancelAsyncRequestsForStream: (OFStream*)stream
{
void *pool = objc_autoreleasePoolPush();
OFRunLoop *runLoop = [self currentRunLoop];
OFList *queue;
if ((queue = [runLoop->readQueues objectForKey: stream]) != nil) {
assert([queue count] > 0);
[runLoop->streamObserver removeStreamForReading: stream];
[runLoop->readQueues removeObjectForKey: stream];
}
objc_autoreleasePoolPop(pool);
}
- init
{
self = [super init];
@try {
timersQueue = [[OFSortedList alloc] init];
|