]> granicus.if.org Git - libevent/commitdiff
Make debugging output for epoll backend more comprehensive
authorNick Mathewson <nickm@torproject.org>
Wed, 22 Sep 2010 02:23:32 +0000 (22:23 -0400)
committerNick Mathewson <nickm@torproject.org>
Wed, 22 Sep 2010 02:23:32 +0000 (22:23 -0400)
epoll.c

diff --git a/epoll.c b/epoll.c
index 19d4e5231191999817206cc8f610744f2eff36cd..4f4a512c84e82fe04f2a0646c1f682b536c015e8 100644 (file)
--- a/epoll.c
+++ b/epoll.c
@@ -248,26 +248,35 @@ epoll_apply_changes(struct event_base *base)
                                 * should retry the operation as an ADD.
                                 */
                                if (epoll_ctl(epollop->epfd, EPOLL_CTL_ADD, ch->fd, &epev) == -1) {
-                                       event_warn("Epoll MOD retried as ADD; that failed too");
+                                       event_warn("Epoll MOD(%d) on %d retried as ADD; that failed too",
+                                           (int)epev.events, ch->fd);
                                } else {
-                                       event_debug(("  Retried as ADD; succeeded."));
+                                       event_debug(("Epoll MOD(%d) on %d retried as ADD; succeeded.",
+                                               (int)epev.events,
+                                               ch->fd));
                                }
                        } else if (op == EPOLL_CTL_ADD && errno == EEXIST &&
                            precautionary_add) {
                                /* If a precautionary ADD operation fails with
                                   EEXIST, that's fine too.
                                 */
-                               event_debug(("  ADD was redundant"));
+                               event_debug(("Epoll ADD(%d) on fd %d gave %s: ADD was redundant",
+                                       (int)epev.events,
+                                       ch->fd, strerror(errno)));
                        } else if (op == EPOLL_CTL_DEL &&
                            (errno == ENOENT || errno == EBADF ||
                                errno == EPERM)) {
                                /* If a delete fails with one of these errors,
                                 * that's fine too: we closed the fd before we
                                 * got around to calling epoll_dispatch. */
-                               event_debug(("  DEL was unnecessary."));
+                               event_debug(("Epoll DEL(%d) on fd %d gave %s: DEL was unnecessary.",
+                                       (int)epev.events,
+                                       ch->fd,
+                                       strerror(errno)));
                        } else {
-                               event_warn("Epoll %s on fd %d failed.  Old events were %d; read change was %d (%s); write change was %d (%s).",
+                               event_warn("Epoll %s(%d) on fd %d failed.  Old events were %d; read change was %d (%s); write change was %d (%s)",
                                    epoll_op_to_string(op),
+                                   (int)epev.events,
                                    ch->fd,
                                    ch->old_events,
                                    ch->read_change,