X-Git-Url: http://git.archive.openwrt.org/?p=project%2Flibubox.git;a=blobdiff_plain;f=uloop.c;h=1c5bcee73a12c07c664ea5eb1d41fd427afa049f;hp=0b75d4b3f4bd72f2d7fc33a918b09782c204d9a6;hb=72613ca2c8f9b9905c6372c1b19ecbcd7cace007;hpb=1ad3d93eb888ae7db3dd97e43e611979352b1aac diff --git a/uloop.c b/uloop.c index 0b75d4b..1c5bcee 100644 --- a/uloop.c +++ b/uloop.c @@ -387,7 +387,13 @@ static void uloop_handle_processes(void) static void uloop_signal_wake(void) { - write(waker_pipe, "w", 1); + do { + if (write(waker_pipe, "w", 1) < 0) { + if (errno == EINTR) + continue; + } + break; + } while (1); } static void uloop_handle_sigint(int signo)