Merge pull request #164 from fredfung/master

Fix parameter 1 for select in poll()
This commit is contained in:
Sergey Lyubka 2013-05-13 10:05:26 -07:00
commit 6bc6022aa9

View File

@ -1223,6 +1223,7 @@ static int poll(struct pollfd *pfd, int n, int milliseconds) {
struct timeval tv;
fd_set set;
int i, result;
int maxfd = 0;
tv.tv_sec = milliseconds / 1000;
tv.tv_usec = (milliseconds % 1000) * 1000;
@ -1231,9 +1232,13 @@ static int poll(struct pollfd *pfd, int n, int milliseconds) {
for (i = 0; i < n; i++) {
FD_SET((SOCKET) pfd[i].fd, &set);
pfd[i].revents = 0;
if (pfd[i].fd > maxfd) {
maxfd = pfd[i].fd;
}
}
if ((result = select(0, &set, NULL, NULL, &tv)) > 0) {
if ((result = select(maxfd+1, &set, NULL, NULL, &tv)) > 0) {
for (i = 0; i < n; i++) {
if (FD_ISSET(pfd[i].fd, &set)) {
pfd[i].revents = POLLIN;