diff options
Diffstat (limited to 'scd/scdaemon.c')
-rw-r--r-- | scd/scdaemon.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/scd/scdaemon.c b/scd/scdaemon.c index ad5f691bb..e8073b7ee 100644 --- a/scd/scdaemon.c +++ b/scd/scdaemon.c @@ -1185,9 +1185,6 @@ handle_connections (int listen_fd) npth_sigev_add (SIGINT); npth_sigev_add (SIGTERM); npth_sigev_fini (); -#else - sigs = 0; - ev = pth_event (PTH_EVENT_SIGS, &sigs, &signo); #endif FD_ZERO (&fdset); @@ -1234,17 +1231,20 @@ handle_connections (int listen_fd) thus a simple assignment is fine to copy the entire set. */ read_fdset = fdset; +#ifndef HAVE_W32_SYSTEM ret = npth_pselect (nfd+1, &read_fdset, NULL, NULL, &timeout, npth_sigev_sigmask()); saved_errno = errno; -#ifndef HAVE_W32_SYSTEM while (npth_sigev_get_pending(&signo)) handle_signal (signo); +#else + ret = npth_eselect (nfd+1, &read_fdset, NULL, NULL, &timeout, NULL, NULL); + saved_errno = errno; #endif if (ret == -1 && saved_errno != EINTR) { - log_error (_("pth_pselect failed: %s - waiting 1s\n"), + log_error (_("npth_pselect failed: %s - waiting 1s\n"), strerror (saved_errno)); npth_sleep (1); continue; |