static int sock_signaled( struct object *obj, struct wait_queue_entry *entry ) { struct sock *sock = (struct sock *)obj; assert( obj->ops == &sock_ops ); return check_fd_events( sock->fd, sock_get_poll_events( sock->fd ) ) != 0; }
static int sock_signaled( struct object *obj, struct thread *thread ) { struct sock *sock = (struct sock *)obj; assert( obj->ops == &sock_ops ); return check_fd_events( sock->fd, sock_get_poll_events( sock->fd ) ) != 0; }
/* master socket timer expiration handler */ static void close_socket_timeout( void *arg ) { master_socket->timeout = NULL; flush_registry(); /* if a new client is waiting, we keep on running */ if (check_fd_events( master_socket->fd, POLLIN )) return; if (debug_level) fprintf( stderr, "wineserver: exiting (pid=%ld)\n", (long) getpid() ); #ifdef DEBUG_OBJECTS close_objects(); /* shut down everything properly */ #endif exit(0); }