Skip to content

Commit

Permalink
sockfilt: remove redundancy in timeout handling
Browse files Browse the repository at this point in the history
And update other logmsg output in select_ws on Windows.
  • Loading branch information
mback2k committed Apr 2, 2020
1 parent c3359ab commit 17389fb
Showing 1 changed file with 13 additions and 13 deletions.
26 changes: 13 additions & 13 deletions tests/server/sockfilt.c
Original file line number Diff line number Diff line change
Expand Up @@ -750,7 +750,7 @@ struct select_ws_data {
HANDLE thread; /* the internal thread handle (indexed by thd) */
};
static int select_ws(int nfds, fd_set *readfds, fd_set *writefds,
fd_set *exceptfds, struct timeval *timeout)
fd_set *exceptfds, struct timeval *tv)
{
HANDLE abort, mutex, signal, handle, *handles;
fd_set readsock, writesock, exceptsock;
Expand All @@ -768,9 +768,17 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds,
return -1;
}

/* convert struct timeval to milliseconds */
if(tv) {
milliseconds = (tv->tv_sec*1000)+(DWORD)(((double)tv->tv_usec)/1000.0);
}
else {
milliseconds = INFINITE;
}

/* check if we got descriptors, sleep in case we got none */
if(!nfds) {
Sleep((timeout->tv_sec*1000)+(DWORD)(((double)timeout->tv_usec)/1000.0));
SleepEx(milliseconds, FALSE);
return 0;
}

Expand Down Expand Up @@ -906,14 +914,6 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds,
}
}

/* convert struct timeval to milliseconds */
if(timeout) {
milliseconds = ((timeout->tv_sec * 1000) + (timeout->tv_usec / 1000));
}
else {
milliseconds = INFINITE;
}

/* wait for one of the internal handles to trigger */
wait = WaitForMultipleObjectsEx(nfd, handles, FALSE, milliseconds, FALSE);

Expand Down Expand Up @@ -981,13 +981,13 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds,

for(fds = 0; fds < nfds; fds++) {
if(FD_ISSET(fds, readfds))
logmsg("select_ws: %d is readable", fds);
logmsg("[select_ws] %d is readable", fds);

if(FD_ISSET(fds, writefds))
logmsg("select_ws: %d is writable", fds);
logmsg("[select_ws] %d is writable", fds);

if(FD_ISSET(fds, exceptfds))
logmsg("select_ws: %d is excepted", fds);
logmsg("[select_ws] %d is exceptional", fds);
}

for(idx = 0; idx < wsa; idx++) {
Expand Down

0 comments on commit 17389fb

Please sign in to comment.