- res = yaz_poll(fds, no_fds, tv_sec);
-#else
- FD_ZERO(&in);
- FD_ZERO(&out);
- FD_ZERO(&except);
- to.tv_sec = 3600;
- to.tv_usec = 0;
- max = 0;
- for (p = *iochans; p; p = p->next)
- {
- time_t w, ftime;
- yaz_log(log_level, "fd=%d flags=%d force_event=%d",
- p->fd, p->flags, p->force_event);
- if (p->force_event)
- to.tv_sec = 0; /* polling select */
- if (p->flags & EVENT_INPUT)
- FD_SET(p->fd, &in);
- if (p->flags & EVENT_OUTPUT)
- FD_SET(p->fd, &out);
- if (p->flags & EVENT_EXCEPT)
- FD_SET(p->fd, &except);
- if (p->fd > max)
- max = p->fd;
- if (p->max_idle && p->last_event)
- {
- ftime = p->last_event + p->max_idle;
- if (ftime < now)
- w = p->max_idle;
- else
- w = ftime - now;
- if (w < to.tv_sec)
- to.tv_sec = w;
- }
- }
- yaz_log(log_level, "select start %ld", (long) to.tv_sec);
- res = YAZ_EV_SELECT(max + 1, &in, &out, &except, &to);
- yaz_log(log_level, "select end");
-#endif