server: Don't cache sockets until they are pollable.

This commit is contained in:
Mike Kaplinskiy 2010-08-29 18:09:49 -04:00 committed by Alexandre Julliard
parent f942cb33ab
commit 92b83ddffb

View file

@ -248,6 +248,7 @@ static int sock_reselect( struct sock *sock )
if (!(sock->state & ~FD_WINE_NONBLOCKING)) return 0;
/* ok, it is, attach it to the wineserver's main poll loop */
sock->polling = 1;
allow_fd_caching( sock->fd );
}
/* update condition mask */
set_fd_events( sock->fd, ev );
@ -646,7 +647,6 @@ static struct object *create_socket( int family, int type, int protocol, unsigne
release_object( sock );
return NULL;
}
allow_fd_caching( sock->fd );
sock_reselect( sock );
clear_error();
return &sock->obj;
@ -719,7 +719,6 @@ static struct sock *accept_socket( obj_handle_t handle )
release_object( sock );
return NULL;
}
allow_fd_caching( acceptsock->fd );
}
clear_error();
sock->pmask &= ~FD_ACCEPT;