Remove the now-useless evsig_caught and evsig_process
authorNick Mathewson <nickm@torproject.org>
Wed, 15 Sep 2010 05:54:51 +0000 (01:54 -0400)
committerNick Mathewson <nickm@torproject.org>
Wed, 15 Sep 2010 05:54:51 +0000 (01:54 -0400)
devpoll.c
epoll.c
evport.c
evsignal-internal.h
kqueue.c
poll.c
select.c
signal.c
test/regress.c
win32select.c

index 3e1854ea0a3923b4073d68097fceaa7f7617b370..55f89d28222d30a85c2ad555d51b5da2d750ec54 100644 (file)
--- a/devpoll.c
+++ b/devpoll.c
@@ -191,10 +191,7 @@ devpoll_dispatch(struct event_base *base, struct timeval *tv)
                        return (-1);
                }
 
-               evsig_process(base);
                return (0);
-       } else if (base->sig.evsig_caught) {
-               evsig_process(base);
        }
 
        event_debug(("%s: devpoll_wait reports %d", __func__, res));
diff --git a/epoll.c b/epoll.c
index 10c9138dc826888f4a8e793d4e8c82e6a04e2f14..19d4e5231191999817206cc8f610744f2eff36cd 100644 (file)
--- a/epoll.c
+++ b/epoll.c
@@ -321,10 +321,7 @@ epoll_dispatch(struct event_base *base, struct timeval *tv)
                        return (-1);
                }
 
-               evsig_process(base);
                return (0);
-       } else if (base->sig.evsig_caught) {
-               evsig_process(base);
        }
 
        event_debug(("%s: epoll_wait reports %d", __func__, res));
index e4e1e9742679216163492955583a1b3c71d79d65..98d49e5617acc8dbbbd78703be7b08177b0177c3 100644 (file)
--- a/evport.c
+++ b/evport.c
@@ -310,7 +310,6 @@ evport_dispatch(struct event_base *base, struct timeval *tv)
 
        if (res == -1) {
                if (errno == EINTR || errno == EAGAIN) {
-                       evsig_process(base);
                        return (0);
                } else if (errno == ETIME) {
                        if (nevents == 0)
@@ -319,8 +318,6 @@ evport_dispatch(struct event_base *base, struct timeval *tv)
                        event_warn("port_getn");
                        return (-1);
                }
-       } else if (base->sig.evsig_caught) {
-               evsig_process(base);
        }
 
        event_debug(("%s: port_getn reports %d events", __func__, nevents));
index 265024590b45a381ff91eeebb78a014c8101a350..73d1b6c799b38ac606ad059cbca96050fead07ca 100644 (file)
@@ -46,8 +46,6 @@ struct evsig_info {
        /* Count of the number of signals we're currently watching. */
        int ev_n_signals_added;
 
-       volatile sig_atomic_t evsig_caught;
-
        /* Array of previous signal handler objects before Libevent started
         * messing with them.  Used to restore old signal handlers. */
 #ifdef _EVENT_HAVE_SIGACTION
@@ -59,7 +57,6 @@ struct evsig_info {
        int sh_old_max;
 };
 int evsig_init(struct event_base *);
-void evsig_process(struct event_base *);
 void evsig_dealloc(struct event_base *);
 
 void evsig_set_base(struct event_base *base);
index d5fa4e40f84d3534c86f71b52e529ea3047793bb..f4a5235506527a01f0539f1fab2f4ec61afd691e 100644 (file)
--- a/kqueue.c
+++ b/kqueue.c
@@ -379,6 +379,8 @@ kq_sig_add(struct event_base *base, int nsignal, short old, short events, void *
        if (kevent(kqop->kq, &kev, 1, NULL, 0, &timeout) == -1)
                return (-1);
 
+       /* XXXX The manpage suggest we could use SIG_IGN instead of a
+        * do-nothing handler */
        if (_evsig_set_handler(base, nsignal, kq_sighandler) == -1)
                return (-1);
 
diff --git a/poll.c b/poll.c
index 36f11608123e79727963d528398115f33948f442..63f238868e391c9f277ac4377097139099183a21 100644 (file)
--- a/poll.c
+++ b/poll.c
@@ -172,10 +172,7 @@ poll_dispatch(struct event_base *base, struct timeval *tv)
                        return (-1);
                }
 
-               evsig_process(base);
                return (0);
-       } else if (base->sig.evsig_caught) {
-               evsig_process(base);
        }
 
        event_debug(("%s: poll reports %d", __func__, res));
index 9fafce31dcb553ed758fa335959fb99e4f64703b..77d42b89ea2d39e0f2ed002cb7ceaf694550e803 100644 (file)
--- a/select.c
+++ b/select.c
@@ -159,10 +159,7 @@ select_dispatch(struct event_base *base, struct timeval *tv)
                        return (-1);
                }
 
-               evsig_process(base);
                return (0);
-       } else if (base->sig.evsig_caught) {
-               evsig_process(base);
        }
 
        event_debug(("%s: select reports %d", __func__, res));
index 1e6ceb057f66b9585645a2dcb4efc43e135fc811..d95b57675f3f70c3b9337db158fcfbbe5e58b690 100644 (file)
--- a/signal.c
+++ b/signal.c
@@ -194,7 +194,6 @@ evsig_init(struct event_base *base)
        evutil_make_socket_closeonexec(base->sig.ev_signal_pair[1]);
        base->sig.sh_old = NULL;
        base->sig.sh_old_max = 0;
-       base->sig.evsig_caught = 0;
 
        evutil_make_socket_nonblocking(base->sig.ev_signal_pair[0]);
        evutil_make_socket_nonblocking(base->sig.ev_signal_pair[1]);
@@ -399,11 +398,6 @@ evsig_handler(int sig)
 #endif
 }
 
-void
-evsig_process(struct event_base *base)
-{
-}
-
 void
 evsig_dealloc(struct event_base *base)
 {
index d24992a8bda66842b19f44938fe0fb87754c1895..24a90e9026d524d13a4fd2d8b6e0a2c2b0a765b8 100644 (file)
@@ -1068,11 +1068,16 @@ test_signal_assert(void)
        evsignal_del(&ev);
 
        raise(SIGCONT);
+#if 0
        /* only way to verify we were in evsig_handler() */
+       /* XXXX Now there's no longer a good way. */
        if (base->sig.evsig_caught)
                test_ok = 0;
        else
                test_ok = 1;
+#else
+       test_ok = 1;
+#endif
 
        event_base_free(base);
        cleanup_test();
index 103acb5a6dec77fc6d48463cf63ff5f4d1255d78..26c107f280f51eeb4c34dbdb1da5f3bd585b2d06 100644 (file)
@@ -304,7 +304,6 @@ win32_dispatch(struct event_base *base, struct timeval *tv)
                        msec = LONG_MAX;
                /* Windows doesn't like you to call select() with no sockets */
                Sleep(msec);
-               evsig_process(base);
                return (0);
        }
 
@@ -320,10 +319,7 @@ win32_dispatch(struct event_base *base, struct timeval *tv)
        event_debug(("%s: select returned %d", __func__, res));
 
        if (res <= 0) {
-               evsig_process(base);
                return res;
-       } else if (base->sig.evsig_caught) {
-               evsig_process(base);
        }
 
        if (win32op->readset_out->fd_count) {