210
211
212
213
214
215
216
217
218
219
220
221
222
223
|
timeout.tv_sec = (time_t)timeInterval;
#else
timeout.tv_sec = (long)timeInterval;
#endif
timeout.tv_usec = (int)((timeInterval - timeout.tv_sec) * 1000000);
#ifdef OF_AMIGAOS
if ((cancelSignal = AllocSignal(-1)) == (BYTE)-1)
@throw [OFObserveKernelEventsFailedException
exceptionWithObserver: self
errNo: EAGAIN];
execSignalMask = _execSignalMask | (1ul << cancelSignal);
|
>
|
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
|
timeout.tv_sec = (time_t)timeInterval;
#else
timeout.tv_sec = (long)timeInterval;
#endif
timeout.tv_usec = (int)((timeInterval - timeout.tv_sec) * 1000000);
#ifdef OF_AMIGAOS
retry:
if ((cancelSignal = AllocSignal(-1)) == (BYTE)-1)
@throw [OFObserveKernelEventsFailedException
exceptionWithObserver: self
errNo: EAGAIN];
execSignalMask = _execSignalMask | (1ul << cancelSignal);
|
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
|
execSignalMask &= ~(1ul << cancelSignal);
_waitingTask = NULL;
FreeSignal(_cancelSignal);
Permit();
if (events < 0)
@throw [OFObserveKernelEventsFailedException
exceptionWithObserver: self
errNo: _OFSocketErrNo()];
if (execSignalMask != 0 &&
[_delegate respondsToSelector: @selector(execSignalWasReceived:)])
[_delegate execSignalWasReceived: execSignalMask];
#else
while ((events = select(_maxFD + 1, &readFDs, &writeFDs, NULL,
(timeInterval != -1 ? &timeout : NULL))) < 0) {
|
|
>
>
>
>
>
|
>
|
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
|
execSignalMask &= ~(1ul << cancelSignal);
_waitingTask = NULL;
FreeSignal(_cancelSignal);
Permit();
if (events < 0) {
int errNo = _OFSocketErrNo();
if (errNo == EINTR)
goto retry;
@throw [OFObserveKernelEventsFailedException
exceptionWithObserver: self
errNo: errNo];
}
if (execSignalMask != 0 &&
[_delegate respondsToSelector: @selector(execSignalWasReceived:)])
[_delegate execSignalWasReceived: execSignalMask];
#else
while ((events = select(_maxFD + 1, &readFDs, &writeFDs, NULL,
(timeInterval != -1 ? &timeout : NULL))) < 0) {
|