- ev_watcher_init (&ev->io, x_cb_io);
- ev_watcher_init (&ev->to, x_cb_to);
- ev_watcher_init (&ev->sig, x_cb_sig);
+ if (!ev->initialised)
+ {
+ ev->initialised = 1;
+
+ if (events & EV_SIGNAL)
+ ev_watcher_init (&ev->iosig.sig, x_cb_sig);
+ else
+ ev_watcher_init (&ev->iosig.io, x_cb_io);
+
+ ev_watcher_init (&ev->to, x_cb_to);
+ }