diff options
author | Felix Fietkau <nbd@openwrt.org> | 2013-01-04 06:13:29 +0400 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2013-01-04 06:13:29 +0400 |
commit | c2916d7bcca129152fbbbbedcd9990706df8760a (patch) | |
tree | 1b1f07d0a20dfa6c2cb6e34a353ed1860059d294 | |
parent | 6a8df07590227de8701d54f20f2331a9ba5030d1 (diff) |
uloop: ensure SIGCHLD is properly received on mac os x
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
-rw-r--r-- | uloop.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -57,6 +57,9 @@ static int cur_fd, cur_nfds; int uloop_init(void) { + struct timespec timeout = { 0, 0 }; + struct kevent ev = {}; + if (poll_fd >= 0) return 0; @@ -64,6 +67,9 @@ int uloop_init(void) if (poll_fd < 0) return -1; + EV_SET(&ev, SIGCHLD, EVFILT_SIGNAL, EV_ADD, 0, 0, 0); + kevent(poll_fd, &ev, 1, NULL, 0, &timeout); + return 0; } |