diff options
author | Nick Mathewson <nickm@torproject.org> | 2012-01-20 16:31:20 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2012-01-20 16:31:20 -0500 |
commit | 5683e2b1a8a472ada2b3dcd6b684723256bffa60 (patch) | |
tree | 607cc09f8017765f653da69a588f370447586bca /evmap.c | |
parent | 677f23cc22b8356184d012206105433bcd75ae6e (diff) | |
parent | 974d004eea27f138c468a278e665db38e52cff53 (diff) | |
download | libevent-5683e2b1a8a472ada2b3dcd6b684723256bffa60.tar.gz |
Merge remote-tracking branch 'github/linked_list'
Conflicts:
include/event2/event_struct.h
Diffstat (limited to 'evmap.c')
-rw-r--r-- | evmap.c | 28 |
1 files changed, 14 insertions, 14 deletions
@@ -56,7 +56,7 @@ write on a given fd, and the number of each. */ struct evmap_io { - struct event_list events; + struct event_dlist events; ev_uint16_t nread; ev_uint16_t nwrite; }; @@ -64,7 +64,7 @@ struct evmap_io { /* An entry for an evmap_signal list: notes all the events that want to know when a signal triggers. */ struct evmap_signal { - struct event_list events; + struct event_dlist events; }; /* On some platforms, fds start at 0 and increment by 1 as they are @@ -252,7 +252,7 @@ evmap_signal_clear(struct event_signal_map *ctx) static void evmap_io_init(struct evmap_io *entry) { - TAILQ_INIT(&entry->events); + LIST_INIT(&entry->events); entry->nread = 0; entry->nwrite = 0; } @@ -306,7 +306,7 @@ evmap_io_add(struct event_base *base, evutil_socket_t fd, struct event *ev) return -1; } if (EVENT_DEBUG_MODE_IS_ON() && - (old_ev = TAILQ_FIRST(&ctx->events)) && + (old_ev = LIST_FIRST(&ctx->events)) && (old_ev->ev_events&EV_ET) != (ev->ev_events&EV_ET)) { event_warnx("Tried to mix edge-triggered and non-edge-triggered" " events on fd %d", (int)fd); @@ -326,7 +326,7 @@ evmap_io_add(struct event_base *base, evutil_socket_t fd, struct event *ev) ctx->nread = (ev_uint16_t) nread; ctx->nwrite = (ev_uint16_t) nwrite; - TAILQ_INSERT_TAIL(&ctx->events, ev, ev_io_next); + LIST_INSERT_HEAD(&ctx->events, ev, ev_io_next); return (retval); } @@ -382,7 +382,7 @@ evmap_io_del(struct event_base *base, evutil_socket_t fd, struct event *ev) ctx->nread = nread; ctx->nwrite = nwrite; - TAILQ_REMOVE(&ctx->events, ev, ev_io_next); + LIST_REMOVE(ev, ev_io_next); return (retval); } @@ -400,7 +400,7 @@ evmap_io_active(struct event_base *base, evutil_socket_t fd, short events) GET_IO_SLOT(ctx, io, fd, evmap_io); EVUTIL_ASSERT(ctx); - TAILQ_FOREACH(ev, &ctx->events, ev_io_next) { + LIST_FOREACH(ev, &ctx->events, ev_io_next) { if (ev->ev_events & events) event_active_nolock(ev, ev->ev_events & events, 1); } @@ -411,7 +411,7 @@ evmap_io_active(struct event_base *base, evutil_socket_t fd, short events) static void evmap_signal_init(struct evmap_signal *entry) { - TAILQ_INIT(&entry->events); + LIST_INIT(&entry->events); } @@ -430,13 +430,13 @@ evmap_signal_add(struct event_base *base, int sig, struct event *ev) GET_SIGNAL_SLOT_AND_CTOR(ctx, map, sig, evmap_signal, evmap_signal_init, base->evsigsel->fdinfo_len); - if (TAILQ_EMPTY(&ctx->events)) { + if (LIST_EMPTY(&ctx->events)) { if (evsel->add(base, ev->ev_fd, 0, EV_SIGNAL, NULL) == -1) return (-1); } - TAILQ_INSERT_TAIL(&ctx->events, ev, ev_signal_next); + LIST_INSERT_HEAD(&ctx->events, ev, ev_signal_next); return (1); } @@ -453,13 +453,13 @@ evmap_signal_del(struct event_base *base, int sig, struct event *ev) GET_SIGNAL_SLOT(ctx, map, sig, evmap_signal); - if (TAILQ_FIRST(&ctx->events) == TAILQ_LAST(&ctx->events, event_list)) { + LIST_REMOVE(ev, ev_signal_next); + + if (LIST_FIRST(&ctx->events) == NULL) { if (evsel->del(base, ev->ev_fd, 0, EV_SIGNAL, NULL) == -1) return (-1); } - TAILQ_REMOVE(&ctx->events, ev, ev_signal_next); - return (1); } @@ -473,7 +473,7 @@ evmap_signal_active(struct event_base *base, evutil_socket_t sig, int ncalls) EVUTIL_ASSERT(sig < map->nentries); GET_SIGNAL_SLOT(ctx, map, sig, evmap_signal); - TAILQ_FOREACH(ev, &ctx->events, ev_signal_next) + LIST_FOREACH(ev, &ctx->events, ev_signal_next) event_active_nolock(ev, EV_SIGNAL, ncalls); } |