- ret = select(c->fd + 1, &rfds, &wfds, 0, 0) > 0;
+ do {
+#if USE_POLL
+ ret = poll(&fd, 1, -1);
+#else
+ ret = select(c->fd + 1, &rfds, &wfds, 0, 0);
+#endif
+ } while (ret == -1 && errno == EINTR);
+ if (ret < 0)
+ {
+ _xcb_conn_shutdown(c);
+ ret = 0;
+ }