… | |
… | |
1270 | /* kqueue is borked on everything but netbsd apparently */ |
1270 | /* kqueue is borked on everything but netbsd apparently */ |
1271 | /* it usually doesn't work correctly on anything but sockets and pipes */ |
1271 | /* it usually doesn't work correctly on anything but sockets and pipes */ |
1272 | flags &= ~EVBACKEND_KQUEUE; |
1272 | flags &= ~EVBACKEND_KQUEUE; |
1273 | #endif |
1273 | #endif |
1274 | #ifdef __APPLE__ |
1274 | #ifdef __APPLE__ |
1275 | // flags &= ~EVBACKEND_KQUEUE; for documentation |
1275 | // flags &= ~EVBACKEND_KQUEUE & ~EVBACKEND_POLL; for documentation |
1276 | flags &= ~EVBACKEND_POLL; |
1276 | flags &= ~EVBACKEND_SELECT; |
1277 | #endif |
1277 | #endif |
1278 | |
1278 | |
1279 | return flags; |
1279 | return flags; |
1280 | } |
1280 | } |
1281 | |
1281 | |
… | |
… | |
2905 | static void |
2905 | static void |
2906 | embed_fork_cb (EV_P_ ev_fork *fork_w, int revents) |
2906 | embed_fork_cb (EV_P_ ev_fork *fork_w, int revents) |
2907 | { |
2907 | { |
2908 | ev_embed *w = (ev_embed *)(((char *)fork_w) - offsetof (ev_embed, fork)); |
2908 | ev_embed *w = (ev_embed *)(((char *)fork_w) - offsetof (ev_embed, fork)); |
2909 | |
2909 | |
|
|
2910 | ev_embed_stop (EV_A_ w); |
|
|
2911 | |
2910 | { |
2912 | { |
2911 | struct ev_loop *loop = w->other; |
2913 | struct ev_loop *loop = w->other; |
2912 | |
2914 | |
2913 | ev_loop_fork (EV_A); |
2915 | ev_loop_fork (EV_A); |
|
|
2916 | ev_loop (EV_A_ EVLOOP_NONBLOCK); |
2914 | } |
2917 | } |
|
|
2918 | |
|
|
2919 | ev_embed_start (EV_A_ w); |
2915 | } |
2920 | } |
2916 | |
2921 | |
2917 | #if 0 |
2922 | #if 0 |
2918 | static void |
2923 | static void |
2919 | embed_idle_cb (EV_P_ ev_idle *idle, int revents) |
2924 | embed_idle_cb (EV_P_ ev_idle *idle, int revents) |