#include <stdlib.h>
#include <netinet/in.h>
#include <sys/select.h>
-#include <sys/fcntl.h>
+#include <fcntl.h>
#include <errno.h>
#include "xcb.h"
/* Public interface */
-XCBConnSetupSuccessRep *XCBGetSetup(XCBConnection *c)
+const XCBConnSetupSuccessRep *XCBGetSetup(XCBConnection *c)
{
/* doesn't need locking because it's never written to. */
return c->setup;
}
pthread_mutex_unlock(&c->iolock);
- ret = select(c->fd + 1, &rfds, &wfds, 0, 0) > 0;
+ do {
+ ret = select(c->fd + 1, &rfds, &wfds, 0, 0);
+ } while (ret == -1 && errno == EINTR);
+ if (ret < 0)
+ ret = 0;
pthread_mutex_lock(&c->iolock);
if(ret)