#include // return -1 on error, 0 on timeout after sec seconds: int readTimeout(int fd, double sec) // { fd_set rset; struct timeval tv; FD_ZERO(&rset); FD_SET(fd,&rset); tv.tv_sec = (long) sec; tv.tv_usec = (long)((sec - (double)(tv.tv_sec))*1000000.0); return (select(fd+1,&rset,NULL,NULL,&tv)); } // readTimeout