diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2014-01-23 12:33:34 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2014-01-23 12:34:01 -0800 |
| commit | aa78da3f45486bb6ef336f044b47072e99c595d2 (patch) | |
| tree | 2eb82c872bcd48ce4634f8451dbc96efc144daf8 /src/libnative | |
| parent | 657e3530225410d167d7f1ee827f15bc69cd965e (diff) | |
| download | rust-aa78da3f45486bb6ef336f044b47072e99c595d2.tar.gz rust-aa78da3f45486bb6ef336f044b47072e99c595d2.zip | |
Handle EINTR in epoll for native timers
Diffstat (limited to 'src/libnative')
| -rw-r--r-- | src/libnative/io/timer_timerfd.rs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/libnative/io/timer_timerfd.rs b/src/libnative/io/timer_timerfd.rs index 4912f4f431f..0556b0c2599 100644 --- a/src/libnative/io/timer_timerfd.rs +++ b/src/libnative/io/timer_timerfd.rs @@ -85,6 +85,7 @@ fn helper(input: libc::c_int, messages: Port<Req>) { events.len() as libc::c_int, -1) } { 0 => fail!("epoll_wait returned immediately!"), + -1 if os::errno() == libc::EINTR as int => { continue } -1 => fail!("epoll wait failed: {}", os::last_os_error()), n => n }; |
