]> git.llucax.com Git - software/libev.git/blobdiff - event.h
save and restore errno in signal handler
[software/libev.git] / event.h
diff --git a/event.h b/event.h
index 18aa3a6f09c6a5abeeef5dc1502f243e9e0cc349..3c2f448cb0d2a1372cf453ae650422d202b5deb1 100644 (file)
--- a/event.h
+++ b/event.h
@@ -38,11 +38,15 @@ extern "C" {
 #include "ev.h"
 
 struct event
 #include "ev.h"
 
 struct event
-  {
-  struct ev_io io;
+{
+  /* libev watchers we map onto */
+  union {
+    struct ev_io io;
+    struct ev_signal sig;
+  } iosig;
   struct ev_timer to;
   struct ev_timer to;
-  struct ev_signal sig;
 
 
+  /* compatibility slots */
   struct event_base *ev_base;
   void (*ev_callback)(int, short, void *arg);
   void *ev_arg;
   struct event_base *ev_base;
   void (*ev_callback)(int, short, void *arg);
   void *ev_arg;
@@ -116,3 +120,4 @@ int event_base_once (struct event_base *base, int fd, short events, void (*cb)(i
 int event_base_priority_init (struct event_base *base, int fd);
 
 #endif
 int event_base_priority_init (struct event_base *base, int fd);
 
 #endif
+