return !stat(fn, &statbuf);
}
+
+int para_select(int n, fd_set *readfds, fd_set *writefds,
+ struct timeval *timeout)
+{
+ int ret, err;
+ do {
+ ret = select(n, readfds, writefds, NULL, timeout);
+ err = errno;
+ } while (ret < 0 && errno == EINTR);
+ if (ret < 0)
+ PARA_CRIT_LOG("select error (%s)\n", strerror(err));
+ return ret;
+}