Differences From Artifact [6cc4e842a3]:
- File
src/OFKernelEventObserver.m
— part of check-in
[24eff635db]
at
2020-01-07 20:28:41
on branch trunk
— OFKernelEventObserver: Remove queueing of actions
This removes the ability to let a thread add or remove objects for
another thread. This features wasn't used at all, but caused significant
problems with kqueue and epoll, as this often resulted in removing a
file descriptor after it had already been closed. (user: js, size: 6160) [annotate] [blame] [check-ins using]
To Artifact [2c737f6572]:
- File src/OFKernelEventObserver.m — part of check-in [23ff70bec4] at 2020-01-07 22:59:41 on branch trunk — OFKernelEventObserver: Fix read buffers, select() (user: js, size: 6226) [annotate] [blame] [check-ins using] [more...]
︙ | ︙ | |||
190 191 192 193 194 195 196 | [_writeObjects release]; [super dealloc]; } - (void)addObjectForReading: (id <OFReadyForReadingObserving>)object { | | | | | | 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | [_writeObjects release]; [super dealloc]; } - (void)addObjectForReading: (id <OFReadyForReadingObserving>)object { [_readObjects addObject: object]; } - (void)addObjectForWriting: (id <OFReadyForWritingObserving>)object { [_writeObjects addObject: object]; } - (void)removeObjectForReading: (id <OFReadyForReadingObserving>)object { [_readObjects removeObjectIdenticalTo: object]; } - (void)removeObjectForWriting: (id <OFReadyForWritingObserving>)object { [_writeObjects removeObjectIdenticalTo: object]; } - (bool)of_processReadBuffers { bool foundInReadBuffer = false; for (id object in _readObjects) { |
︙ | ︙ |