+int iochan_is_alive(IOCHAN chan)
+{
+ static struct timeval to;
+ fd_set in, out, except;
+ int res, max;
+
+ to.tv_sec = 0;
+ to.tv_usec = 0;
+
+ FD_ZERO(&in);
+ FD_ZERO(&out);
+ FD_ZERO(&except);
+
+ FD_SET(chan->fd, &in);
+
+ max = chan->fd + 1;
+
+ res = YAZ_EV_SELECT(max + 1, &in, 0, 0, &to);
+ if (res == 0)
+ return 1;
+ if (!ir_read(chan, EVENT_INPUT))
+ return 0;
+ return 1;
+}
+