]> git.llucax.com Git - software/libev.git/blobdiff - ev.c
add manpage to distro and install it
[software/libev.git] / ev.c
diff --git a/ev.c b/ev.c
index ff47bd25c4119d15c7f4686bc624fd9cae8e5e32..0b2340e1f5108fade63acd58a61b5e533ff7c8fe 100644 (file)
--- a/ev.c
+++ b/ev.c
@@ -169,7 +169,8 @@ extern "C" {
 #define NUMPRI    (EV_MAXPRI - EV_MINPRI + 1)
 #define ABSPRI(w) ((w)->priority - EV_MINPRI)
 
 #define NUMPRI    (EV_MAXPRI - EV_MINPRI + 1)
 #define ABSPRI(w) ((w)->priority - EV_MINPRI)
 
-#define EMPTY /* required for microsofts broken pseudo-c compiler */
+#define EMPTY0      /* required for microsofts broken pseudo-c compiler */
+#define EMPTY2(a,b) /* used to suppress some warnings */
 
 typedef struct ev_watcher *W;
 typedef struct ev_watcher_list *WL;
 
 typedef struct ev_watcher *W;
 typedef struct ev_watcher_list *WL;
@@ -367,7 +368,7 @@ ev_feed_event (EV_P_ void *w, int revents)
     }
 
   w_->pending = ++pendingcnt [ABSPRI (w_)];
     }
 
   w_->pending = ++pendingcnt [ABSPRI (w_)];
-  array_needsize (ANPENDING, pendings [ABSPRI (w_)], pendingmax [ABSPRI (w_)], pendingcnt [ABSPRI (w_)], (void));
+  array_needsize (ANPENDING, pendings [ABSPRI (w_)], pendingmax [ABSPRI (w_)], pendingcnt [ABSPRI (w_)], EMPTY2);
   pendings [ABSPRI (w_)][w_->pending - 1].w      = w_;
   pendings [ABSPRI (w_)][w_->pending - 1].events = revents;
 }
   pendings [ABSPRI (w_)][w_->pending - 1].w      = w_;
   pendings [ABSPRI (w_)][w_->pending - 1].events = revents;
 }
@@ -447,7 +448,7 @@ fd_change (EV_P_ int fd)
   anfds [fd].reify = 1;
 
   ++fdchangecnt;
   anfds [fd].reify = 1;
 
   ++fdchangecnt;
-  array_needsize (int, fdchanges, fdchangemax, fdchangecnt, (void));
+  array_needsize (int, fdchanges, fdchangemax, fdchangecnt, EMPTY2);
   fdchanges [fdchangecnt - 1] = fd;
 }
 
   fdchanges [fdchangecnt - 1] = fd;
 }
 
@@ -748,7 +749,7 @@ enable_secure (void)
 #endif
 }
 
 #endif
 }
 
-int
+unsigned int
 ev_method (EV_P)
 {
   return method;
 ev_method (EV_P)
 {
   return method;
@@ -772,7 +773,7 @@ loop_init (EV_P_ unsigned int flags)
       now_floor = mn_now;
       rtmn_diff = ev_rt_now - mn_now;
 
       now_floor = mn_now;
       rtmn_diff = ev_rt_now - mn_now;
 
-      if (!(flags & EVMETHOD_NOENV) && !enable_secure () && getenv ("LIBEV_FLAGS"))
+      if (!(flags & EVFLAG_NOENV) && !enable_secure () && getenv ("LIBEV_FLAGS"))
         flags = atoi (getenv ("LIBEV_FLAGS"));
 
       if (!(flags & 0x0000ffff))
         flags = atoi (getenv ("LIBEV_FLAGS"));
 
       if (!(flags & 0x0000ffff))
@@ -819,14 +820,14 @@ loop_destroy (EV_P)
     array_free (pending, [i]);
 
   /* have to use the microsoft-never-gets-it-right macro */
     array_free (pending, [i]);
 
   /* have to use the microsoft-never-gets-it-right macro */
-  array_free (fdchange, EMPTY);
-  array_free (timer, EMPTY);
+  array_free (fdchange, EMPTY0);
+  array_free (timer, EMPTY0);
 #if EV_PERIODICS
 #if EV_PERIODICS
-  array_free (periodic, EMPTY);
+  array_free (periodic, EMPTY0);
 #endif
 #endif
-  array_free (idle, EMPTY);
-  array_free (prepare, EMPTY);
-  array_free (check, EMPTY);
+  array_free (idle, EMPTY0);
+  array_free (prepare, EMPTY0);
+  array_free (check, EMPTY0);
 
   method = 0;
 }
 
   method = 0;
 }
@@ -1343,7 +1344,7 @@ ev_timer_start (EV_P_ struct ev_timer *w)
   assert (("ev_timer_start called with negative timer repeat value", w->repeat >= 0.));
 
   ev_start (EV_A_ (W)w, ++timercnt);
   assert (("ev_timer_start called with negative timer repeat value", w->repeat >= 0.));
 
   ev_start (EV_A_ (W)w, ++timercnt);
-  array_needsize (struct ev_timer *, timers, timermax, timercnt, (void));
+  array_needsize (struct ev_timer *, timers, timermax, timercnt, EMPTY2);
   timers [timercnt - 1] = w;
   upheap ((WT *)timers, timercnt - 1);
 
   timers [timercnt - 1] = w;
   upheap ((WT *)timers, timercnt - 1);
 
@@ -1384,7 +1385,10 @@ ev_timer_again (EV_P_ struct ev_timer *w)
         ev_timer_stop (EV_A_ w);
     }
   else if (w->repeat)
         ev_timer_stop (EV_A_ w);
     }
   else if (w->repeat)
-    ev_timer_start (EV_A_ w);
+    {
+      w->at = w->repeat;
+      ev_timer_start (EV_A_ w);
+    }
 }
 
 #if EV_PERIODICS
 }
 
 #if EV_PERIODICS
@@ -1404,7 +1408,7 @@ ev_periodic_start (EV_P_ struct ev_periodic *w)
     }
 
   ev_start (EV_A_ (W)w, ++periodiccnt);
     }
 
   ev_start (EV_A_ (W)w, ++periodiccnt);
-  array_needsize (struct ev_periodic *, periodics, periodicmax, periodiccnt, (void));
+  array_needsize (struct ev_periodic *, periodics, periodicmax, periodiccnt, EMPTY2);
   periodics [periodiccnt - 1] = w;
   upheap ((WT *)periodics, periodiccnt - 1);
 
   periodics [periodiccnt - 1] = w;
   upheap ((WT *)periodics, periodiccnt - 1);
 
@@ -1445,7 +1449,7 @@ ev_idle_start (EV_P_ struct ev_idle *w)
     return;
 
   ev_start (EV_A_ (W)w, ++idlecnt);
     return;
 
   ev_start (EV_A_ (W)w, ++idlecnt);
-  array_needsize (struct ev_idle *, idles, idlemax, idlecnt, (void));
+  array_needsize (struct ev_idle *, idles, idlemax, idlecnt, EMPTY2);
   idles [idlecnt - 1] = w;
 }
 
   idles [idlecnt - 1] = w;
 }
 
@@ -1467,7 +1471,7 @@ ev_prepare_start (EV_P_ struct ev_prepare *w)
     return;
 
   ev_start (EV_A_ (W)w, ++preparecnt);
     return;
 
   ev_start (EV_A_ (W)w, ++preparecnt);
-  array_needsize (struct ev_prepare *, prepares, preparemax, preparecnt, (void));
+  array_needsize (struct ev_prepare *, prepares, preparemax, preparecnt, EMPTY2);
   prepares [preparecnt - 1] = w;
 }
 
   prepares [preparecnt - 1] = w;
 }
 
@@ -1489,7 +1493,7 @@ ev_check_start (EV_P_ struct ev_check *w)
     return;
 
   ev_start (EV_A_ (W)w, ++checkcnt);
     return;
 
   ev_start (EV_A_ (W)w, ++checkcnt);
-  array_needsize (struct ev_check *, checks, checkmax, checkcnt, (void));
+  array_needsize (struct ev_check *, checks, checkmax, checkcnt, EMPTY2);
   checks [checkcnt - 1] = w;
 }
 
   checks [checkcnt - 1] = w;
 }