12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
* 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.
*/
/*
* This file replaces NSAutoreleasePool with OFAutoreleasePool when it is
* linked. This is done so there is no conflict because OFBlocks are used
* (blocks are OFBlocks as soon as ObjFW is linked). An application expecting
* an NSBlock, but getting an OFBlock because ObjFW is linked, would fail to
* autorelease the block otherwise, as the block would be in an
* OFAutoreleasePool. By replacing NSAutoreleasePool with OFAutoreleasePool,
* the application will still properly free the autoreleased block.
*/
#include "config.h"
#import <objc/runtime.h>
#import "OFAutoreleasePool.h"
|
>
|
|
|
|
|
|
>
>
>
>
|
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
* 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.
*/
/*
* This file replaces NSAutoreleasePool with OFAutoreleasePool when it is
* linked.
* This is done so there is no conflict because OFBlocks are used (blocks are
* OFBlocks as soon as ObjFW is linked). An application expecting an NSBlock,
* but getting an OFBlock because ObjFW is linked, would fail to autorelease
* the block otherwise, as the block would be in an OFAutoreleasePool. By
* replacing NSAutoreleasePool with OFAutoreleasePool, the application will
* still properly free the autoreleased block.
* With autorelease pools now being part of the runtime, this is not really
* necessary anymore, as both, ObjFW and Foundation, use the runtime's pools if
* available. However, this is kept for compatibility with older versions of
* OS X, which don't ship with a runtime with autorelease pools.
*/
#include "config.h"
#import <objc/runtime.h>
#import "OFAutoreleasePool.h"
|