-static gboolean
-poll_event_create_sockares_at (guint i, gint fd, MonoMList **list)
-{
- mono_pollfd *poll_fd;
-
- g_assert (list);
-
- poll_fd = &poll_fds [i];
- g_assert (poll_fd);
-
- g_assert (fd == poll_fd->fd);
-
- if (fd == -1 || poll_fd->revents == 0)
- return FALSE;
-
- if (*list && (poll_fd->revents & (MONO_POLLIN | MONO_POLLERR | MONO_POLLHUP | MONO_POLLNVAL)) != 0) {
- MonoSocketAsyncResult *io_event = get_sockares_for_event (list, MONO_POLLIN);
- if (io_event)
- mono_threadpool_ms_enqueue_work_item (((MonoObject*) io_event)->vtable->domain, (MonoObject*) io_event);
- }
- if (*list && (poll_fd->revents & (MONO_POLLOUT | MONO_POLLERR | MONO_POLLHUP | MONO_POLLNVAL)) != 0) {
- MonoSocketAsyncResult *io_event = get_sockares_for_event (list, MONO_POLLOUT);
- if (io_event)
- mono_threadpool_ms_enqueue_work_item (((MonoObject*) io_event)->vtable->domain, (MonoObject*) io_event);
- }
-
- if (*list)
- poll_fd->events = get_events (*list);
- else
- POLL_INIT_FD (poll_fd, -1, 0);
-
- return TRUE;
-}
-