From c310eb77480ca24dfdeefd80b73318ef890b5e2a Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Mon, 29 Mar 2010 22:45:27 +0200 Subject: OSX: add workaround for missing ppoll system call --- daemon/main.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/daemon/main.c b/daemon/main.c index 18b28a8..d8ae703 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -147,6 +147,21 @@ void set_signal_handlers(void) sigaction(SIGUSR2, &sa, NULL); } +#ifdef __APPLE__ +static int ppoll(struct pollfd *fds, nfds_t nfds, const struct timespec *timeout, const sigset_t *sigmask) +{ + int ready; + sigset_t origmask; + int to = timeout->tv_sec*1000 + timeout->tv_nsec/1000000; + + sigprocmask(SIG_SETMASK, sigmask, &origmask); + ready = poll(fds, nfds, to); + sigprocmask(SIG_SETMASK, &origmask, NULL); + + return ready; +} +#endif + int main_loop(int listenfd) { int to, cnt, i, dto; -- cgit v1.1-32-gdbae