summaryrefslogtreecommitdiff
path: root/evmap.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-01-20 16:31:20 -0500
committerNick Mathewson <nickm@torproject.org>2012-01-20 16:31:20 -0500
commit5683e2b1a8a472ada2b3dcd6b684723256bffa60 (patch)
tree607cc09f8017765f653da69a588f370447586bca /evmap.c
parent677f23cc22b8356184d012206105433bcd75ae6e (diff)
parent974d004eea27f138c468a278e665db38e52cff53 (diff)
downloadlibevent-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.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/evmap.c b/evmap.c
index ad18e533..db98e0a1 100644
--- a/evmap.c
+++ b/evmap.c
@@ -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);
}