return TRUE;
}
-static void
-kqueue_cleanup (void)
-{
- g_free (kqueue_events);
- close (kqueue_fd);
-}
-
static void
kqueue_register_fd (gint fd, gint events, gboolean is_new)
{
mono_gc_set_skip_thread (TRUE);
+ MONO_ENTER_GC_SAFE;
ready = kevent (kqueue_fd, NULL, 0, kqueue_events, KQUEUE_NEVENTS, NULL);
+ MONO_EXIT_GC_SAFE;
mono_gc_set_skip_thread (FALSE);
static ThreadPoolIOBackend backend_kqueue = {
.init = kqueue_init,
- .cleanup = kqueue_cleanup,
.register_fd = kqueue_register_fd,
.remove_fd = kqueue_remove_fd,
.event_wait = kqueue_event_wait,