In set_socket_event, the event should be signaled if there's a pending

network event corresponding to the events the application wanted to be
notified.
This commit is contained in:
Stephane Lussier 2000-07-16 18:14:01 +00:00 committed by Alexandre Julliard
parent 2caee712a2
commit 56adb25f7d
1 changed files with 8 additions and 0 deletions

View File

@ -461,6 +461,14 @@ DECL_HANDLER(set_socket_event)
sock_reselect( sock );
if (sock->mask)
sock->state |= WS_FD_NONBLOCKING;
/* if a network event is pending, signal the event object
it is possible that FD_CONNECT or FD_ACCEPT network events has happened
before a WSAEventSelect() was done on it.
(when dealing with Asynchronous socket) */
if (sock->pmask & sock->mask)
set_event(sock->event);
if (oevent)
{
if ((oevent != sock->event) && (omask & WS_FD_SERVEVENT))