- if (poll (writefds, 1, -1) == -1)
-#else
- FD_ZERO (&writefds);
- FD_SET (tls_fd, &writefds);
- if (select (tls_fd+1, NULL, &writefds, NULL, NULL) == -1)
-#endif
+ sigprocmask (SIG_SETMASK, &act.sa_mask, &orig_mask);
+ ready = poll (writefds, 1, -1);
+ sigprocmask (SIG_SETMASK, &orig_mask, NULL);
+ if (ready == -1 && errno != EINTR)