]> git.llucax.com Git - software/ev.d.git/blobdiff - ev/c.d
Don't compile unittests by default.
[software/ev.d.git] / ev / c.d
diff --git a/ev/c.d b/ev/c.d
index 3efcb678a76f47bd4bb6bcad755833c426b99be6..aa31a0357ccd46c8da5c9ec9c10e516e020885ee 100644 (file)
--- a/ev/c.d
+++ b/ev/c.d
@@ -160,6 +160,7 @@ struct ev_signal
 struct ev_child
 {
        mixin EV_WATCHER_LIST!(ev_child);
 struct ev_child
 {
        mixin EV_WATCHER_LIST!(ev_child);
+       int flags;   // private
        int pid;     // ro
        int rpid;    // rw, holds the received pid
        int rstatus; // rw, holds the exit status, use the
        int pid;     // ro
        int rpid;    // rw, holds the received pid
        int rstatus; // rw, holds the exit status, use the
@@ -261,7 +262,7 @@ void ev_set_allocator(void* function(void* ptr, int size));
 // set the callback function to call on a
 // retryable syscall error
 // (such as failed select, poll, epoll_wait)
 // set the callback function to call on a
 // retryable syscall error
 // (such as failed select, poll, epoll_wait)
-void ev_set_syserr_cb(void* function(char* msg));
+void ev_set_syserr_cb(void function(char* msg));
 
 extern ev_loop_t* ev_default_loop_ptr;
 
 
 extern ev_loop_t* ev_default_loop_ptr;
 
@@ -348,17 +349,17 @@ version (EV_EMBED_ENABLE)
 
 bool ev_is_pending(TYPE)(TYPE* w)
 {
 
 bool ev_is_pending(TYPE)(TYPE* w)
 {
-       return w.pending;
+       return cast (bool) w.pending;
 }
 
 bool ev_is_active(TYPE)(TYPE* w)
 {
 }
 
 bool ev_is_active(TYPE)(TYPE* w)
 {
-       return w.active;
+       return cast (bool) w.active;
 }
 
 int ev_priority(TYPE)(TYPE* w)
 {
 }
 
 int ev_priority(TYPE)(TYPE* w)
 {
-       return w.priority;
+       return cast (bool) w.priority;
 }
 
 void function(ev_loop_t*, TYPE*, int) ev_cb(TYPE)(TYPE* w)
 }
 
 void function(ev_loop_t*, TYPE*, int) ev_cb(TYPE)(TYPE* w)
@@ -411,9 +412,10 @@ void ev_signal_set(ev_signal* w, int signum)
        w.signum = signum;
 }
 
        w.signum = signum;
 }
 
-void ev_child_set(ev_child* w, int pid)
+void ev_child_set(ev_child* w, int pid, int trace)
 {
        w.pid = pid;
 {
        w.pid = pid;
+       w.flags = !!trace;
 }
 
 void ev_stat_set(ev_stat* w, char* path, ev_tstamp interval)
 }
 
 void ev_stat_set(ev_stat* w, char* path, ev_tstamp interval)
@@ -475,10 +477,10 @@ void ev_signal_init(ev_signal* w, void function(ev_loop_t*, ev_signal*, int) cb,
 }
 
 void ev_child_init(ev_child* w, void function(ev_loop_t*, ev_child*, int) cb,
 }
 
 void ev_child_init(ev_child* w, void function(ev_loop_t*, ev_child*, int) cb,
-               int pid)
+               int pid, int trace)
 {
        ev_init(w, cb);
 {
        ev_init(w, cb);
-       ev_child_set(w, pid);
+       ev_child_set(w, pid, trace);
 }
 
 void ev_stat_init(ev_stat* w, void function(ev_loop_t*, ev_stat*, int) cb,
 }
 
 void ev_stat_init(ev_stat* w, void function(ev_loop_t*, ev_stat*, int) cb,
@@ -887,7 +889,7 @@ unittest
        wsignal.data = &epipe[1]; // write fd
        ev_signal_start(loop, &wsignal);
 
        wsignal.data = &epipe[1]; // write fd
        ev_signal_start(loop, &wsignal);
 
-       ev_child_init(&wchild, &cbchild, 0 /* trace any PID */);
+       ev_child_init(&wchild, &cbchild, 0 /* trace any PID */, 0 /* death */);
        ev_child_start(loop, &wchild);
 
        ev_stat_init(&wstat, &cbstat, str.toStringz(STAT_FILE), 0 /* auto */);
        ev_child_start(loop, &wchild);
 
        ev_stat_init(&wstat, &cbstat, str.toStringz(STAT_FILE), 0 /* auto */);