Lines Matching refs:poll_group

453 typedef struct poll_group poll_group_t;
456 WEPOLL_INTERNAL void poll_group_release(poll_group_t* poll_group);
458 WEPOLL_INTERNAL void poll_group_delete(poll_group_t* poll_group);
463 poll_group_get_afd_helper_handle(poll_group_t* poll_group);
967 typedef struct poll_group { struct
975 poll_group_t* poll_group = malloc(sizeof *poll_group); in poll_group__new() argument
976 if (poll_group == NULL) in poll_group__new()
979 memset(poll_group, 0, sizeof *poll_group); in poll_group__new()
981 queue_node_init(&poll_group->queue_node); in poll_group__new()
982 poll_group->port_state = port_state; in poll_group__new()
985 &poll_group->afd_helper_handle) < 0) { in poll_group__new()
986 free(poll_group); in poll_group__new()
990 queue_append(&port_state->poll_group_queue, &poll_group->queue_node); in poll_group__new()
992 return poll_group; in poll_group__new()
995 void poll_group_delete(poll_group_t* poll_group) { in poll_group_delete() argument
996 assert(poll_group->group_size == 0); in poll_group_delete()
997 CloseHandle(poll_group->afd_helper_handle); in poll_group_delete()
998 queue_remove(&poll_group->queue_node); in poll_group_delete()
999 free(poll_group); in poll_group_delete()
1006 HANDLE poll_group_get_afd_helper_handle(poll_group_t* poll_group) { in poll_group_get_afd_helper_handle() argument
1007 return poll_group->afd_helper_handle; in poll_group_get_afd_helper_handle()
1012 poll_group_t* poll_group = in poll_group_acquire() local
1017 if (poll_group == NULL || in poll_group_acquire()
1018 poll_group->group_size >= POLL_GROUP__MAX_GROUP_SIZE) in poll_group_acquire()
1019 poll_group = poll_group__new(port_state); in poll_group_acquire()
1020 if (poll_group == NULL) in poll_group_acquire()
1023 if (++poll_group->group_size == POLL_GROUP__MAX_GROUP_SIZE) in poll_group_acquire()
1024 queue_move_first(&port_state->poll_group_queue, &poll_group->queue_node); in poll_group_acquire()
1026 return poll_group; in poll_group_acquire()
1029 void poll_group_release(poll_group_t* poll_group) { in poll_group_release() argument
1030 port_state_t* port_state = poll_group->port_state; in poll_group_release()
1032 poll_group->group_size--; in poll_group_release()
1033 assert(poll_group->group_size < POLL_GROUP__MAX_GROUP_SIZE); in poll_group_release()
1035 queue_move_last(&port_state->poll_group_queue, &poll_group->queue_node); in poll_group_release()
1132 poll_group_t* poll_group = poll_group_from_queue_node(queue_node); in port_delete() local
1133 poll_group_delete(poll_group); in port_delete()
1565 poll_group_t* poll_group; member
1587 poll_group_get_afd_helper_handle(sock_state->poll_group); in sock__cancel_poll()
1604 poll_group_t* poll_group; in sock_new() local
1614 poll_group = poll_group_acquire(port_state); in sock_new()
1615 if (poll_group == NULL) in sock_new()
1625 sock_state->poll_group = poll_group; in sock_new()
1638 poll_group_release(poll_group); in sock_new()
1662 poll_group_release(sock_state->poll_group); in sock__delete()
1774 if (afd_poll(poll_group_get_afd_helper_handle(sock_state->poll_group), in sock_update()