Differences From Artifact [75625ed3ab]:
- File src/OFThreadPool.m — part of check-in [e40729d406] at 2013-02-12 18:22:15 on branch trunk — Prefix all ivars with an underscore. (user: js, size: 6987) [annotate] [blame] [check-ins using]
To Artifact [0d55db513d]:
- File
src/OFThreadPool.m
— part of check-in
[c5ef582958]
at
2013-03-04 17:20:15
on branch trunk
— Replace BOOL with bool.
The only places where BOOL is left are those where they are required by
the ABI. (user: js, size: 6988) [annotate] [blame] [check-ins using]
| ︙ | ︙ | |||
126 127 128 129 130 131 132 |
@end
@interface OFThreadPoolThread: OFThread
{
OFList *_queue;
OFCondition *_queueCondition, *_countCondition;
@public
| | | 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
@end
@interface OFThreadPoolThread: OFThread
{
OFList *_queue;
OFCondition *_queueCondition, *_countCondition;
@public
volatile bool _terminate;
volatile int *_doneCount;
}
+ (instancetype)threadWithThreadPool: (OFThreadPool*)threadPool;
- initWithThreadPool: (OFThreadPool*)threadPool;
@end
|
| ︙ | ︙ | |||
303 304 305 306 307 308 309 |
@try {
[_countCondition lock];
@try {
OFEnumerator *enumerator = [_threads objectEnumerator];
OFThreadPoolThread *thread;
while ((thread = [enumerator nextObject]) != nil)
| | | 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 |
@try {
[_countCondition lock];
@try {
OFEnumerator *enumerator = [_threads objectEnumerator];
OFThreadPoolThread *thread;
while ((thread = [enumerator nextObject]) != nil)
thread->_terminate = true;
} @finally {
[_countCondition unlock];
}
[_queueCondition broadcast];
} @finally {
[_queueCondition unlock];
|
| ︙ | ︙ |