Overview
Comment: | Also release pools that are on top of the pool being released. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
4f4f619d848a4835f56b37568e46b88a |
User & Date: | js on 2009-05-13 17:58:50 |
Other Links: | manifest | tags |
Context
2009-05-13
| ||
19:39 | Get rid of a @try block in OFString. check-in: 1c798ffa3f user: js tags: trunk | |
17:58 | Also release pools that are on top of the pool being released. check-in: 4f4f619d84 user: js tags: trunk | |
2009-05-07
| ||
16:08 | Add OFSocket base class. check-in: 0110aec5c0 user: js tags: trunk | |
Changes
Modified src/OFAutoreleasePool.m from [0e0d5e7d64] to [82173abc64].
︙ | ︙ | |||
85 86 87 88 89 90 91 92 93 94 95 96 97 98 | listobj = [pool_list append: self]; return self; } - free { [[OFThread objectForTLSKey: pool_list_key] remove: listobj]; return [super free]; } - addToPool: (OFObject*)obj { | > > > > > > > > > | 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | listobj = [pool_list append: self]; return self; } - free { /* * FIXME: * Maybe we should get the objects ourself, release them and then * release the pool without calling its release method? This way, * there wouldn't be a recursion. */ if (listobj->next != NULL) [listobj->next->object release]; [[OFThread objectForTLSKey: pool_list_key] remove: listobj]; return [super free]; } - addToPool: (OFObject*)obj { |
︙ | ︙ | |||
118 119 120 121 122 123 124 125 | return self; [objects release]; objects = nil; return self; } @end | > > > > > > > > > > > > > > | 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | return self; [objects release]; objects = nil; return self; } - retain { // FIXME: Maybe another exception would be better here? @throw [OFNotImplementedException newWithClass: isa andSelector: _cmd]; } - autorelease { // FIXME: Maybe another exception would be better here? @throw [OFNotImplementedException newWithClass: isa andSelector: _cmd]; } @end |
Modified tests/OFAutoreleasePool/OFAutoreleasePool.m from [aa69694177] to [558bb07388].
︙ | ︙ | |||
93 94 95 96 97 98 99 | [pool1 releaseObjects]; o2 = [[[OFObject alloc] init] autorelease]; pool2 = [[OFAutoreleasePool alloc] init]; o3 = [[[OFObject alloc] init] autorelease]; | < < < | | 93 94 95 96 97 98 99 100 101 102 103 | [pool1 releaseObjects]; o2 = [[[OFObject alloc] init] autorelease]; pool2 = [[OFAutoreleasePool alloc] init]; o3 = [[[OFObject alloc] init] autorelease]; [pool1 release]; return (inits == 20 && retains == 5 && releases == 16 ? 0 : 1); } |