Overview
Comment: | OFRunLoop: Ignore EINTR |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | 0.90 |
Files: | files | file ages | folders |
SHA3-256: |
5bab29322e89a857133089cc10dcaa53 |
User & Date: | js on 2017-07-31 11:45:06 |
Other Links: | branch diff | manifest | tags |
Context
2017-08-01
| ||
12:10 | OFRunLoop: Fix missing imports check-in: b641d5c17b user: js tags: 0.90 | |
2017-07-31
| ||
11:45 | OFRunLoop: Ignore EINTR check-in: 5bab29322e user: js tags: 0.90 | |
2017-07-30
| ||
21:41 | tests: Drain between OFKernelObserver tests check-in: 83611bbbe9 user: js tags: 0.90 | |
Changes
Modified src/OFRunLoop.m from [50df1150e8] to [208fa9c8e0].
︙ | ︙ | |||
715 716 717 718 719 720 721 | timeout = [[nextTimer earlierDate: deadline] timeIntervalSinceNow]; if (timeout < 0) timeout = 0; #if defined(OF_HAVE_SOCKETS) | > | | > > > > > | > > > > | 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 | timeout = [[nextTimer earlierDate: deadline] timeIntervalSinceNow]; if (timeout < 0) timeout = 0; #if defined(OF_HAVE_SOCKETS) @try { [_kernelEventObserver observeForTimeInterval: timeout]; } @catch (OFObserveFailedException *e) { if ([e errNo] != EINTR) @throw e; } #elif defined(OF_HAVE_THREADS) [_condition lock]; [_condition waitForTimeInterval: timeout]; [_condition unlock]; #else [OFThread sleepForTimeInterval: timeout]; #endif } else { /* * No more timers and no deadline: Just watch for I/O * until we get an event. If a timer is added by * another thread, it cancels the observe. */ #if defined(OF_HAVE_SOCKETS) @try { [_kernelEventObserver observe]; } @catch (OFObserveFailedException *e) { if ([e errNo] != EINTR) @throw e; } #elif defined(OF_HAVE_THREADS) [_condition lock]; [_condition wait]; [_condition unlock]; #else [OFThread sleepForTimeInterval: 86400]; #endif |
︙ | ︙ |