This changes behavior a bit, but ensures that it returns if
we receive a signal.
while ((res = yaz_poll(fds, no_fds, timeout, 0)) < 0 && pass < 10)
{
if (errno == EINTR)
while ((res = yaz_poll(fds, no_fds, timeout, 0)) < 0 && pass < 10)
{
if (errno == EINTR)
+ {
+ delete [] fds;
+ return 1;
+ }
yaz_log(YLOG_ERRNO|YLOG_WARN, "yaz_poll");
yaz_log(YLOG_WARN, "errno=%d timeout=%d", errno, timeout);
}
yaz_log(YLOG_ERRNO|YLOG_WARN, "yaz_poll");
yaz_log(YLOG_WARN, "errno=%d timeout=%d", errno, timeout);
}