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; }
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_reselect( struct sock *sock ) { int ev = sock_get_poll_events( sock->fd ); if (debug_level) fprintf(stderr,"sock_reselect(%p): new mask %x\n", sock, ev); if (!sock->polling) /* FIXME: should find a better way to do this */ { /* previously unconnected socket, is this reselect supposed to connect it? */ if (!(sock->state & ~FD_WINE_NONBLOCKING)) return 0; /* ok, it is, attach it to the wineserver's main poll loop */ sock->polling = 1; } /* update condition mask */ set_fd_events( sock->fd, ev ); return ev; }