summaryrefslogtreecommitdiff
path: root/src/libmowgli/eventloop/select_pollops.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libmowgli/eventloop/select_pollops.c')
-rw-r--r--src/libmowgli/eventloop/select_pollops.c59
1 files changed, 33 insertions, 26 deletions
diff --git a/src/libmowgli/eventloop/select_pollops.c b/src/libmowgli/eventloop/select_pollops.c
index 467b4f5..ee5a966 100644
--- a/src/libmowgli/eventloop/select_pollops.c
+++ b/src/libmowgli/eventloop/select_pollops.c
@@ -22,15 +22,17 @@
#ifdef HAVE_SELECT
-#ifdef HAVE_SYS_SELECT_H
-# include <sys/select.h>
-#endif
+# ifdef HAVE_SYS_SELECT_H
+# include <sys/select.h>
+# endif
-typedef struct {
+typedef struct
+{
mowgli_list_t pollable_list;
} mowgli_select_eventloop_private_t;
-static void mowgli_select_eventloop_pollsetup(mowgli_eventloop_t *eventloop)
+static void
+mowgli_select_eventloop_pollsetup(mowgli_eventloop_t *eventloop)
{
mowgli_select_eventloop_private_t *priv;
@@ -40,7 +42,8 @@ static void mowgli_select_eventloop_pollsetup(mowgli_eventloop_t *eventloop)
return;
}
-static void mowgli_select_eventloop_pollshutdown(mowgli_eventloop_t *eventloop)
+static void
+mowgli_select_eventloop_pollshutdown(mowgli_eventloop_t *eventloop)
{
mowgli_node_t *n, *tn;
mowgli_select_eventloop_private_t *priv;
@@ -58,7 +61,8 @@ static void mowgli_select_eventloop_pollshutdown(mowgli_eventloop_t *eventloop)
return;
}
-static void mowgli_select_eventloop_destroy(mowgli_eventloop_t *eventloop, mowgli_eventloop_pollable_t *pollable)
+static void
+mowgli_select_eventloop_destroy(mowgli_eventloop_t *eventloop, mowgli_eventloop_pollable_t *pollable)
{
mowgli_select_eventloop_private_t *priv;
@@ -70,7 +74,8 @@ static void mowgli_select_eventloop_destroy(mowgli_eventloop_t *eventloop, mowgl
mowgli_node_delete(&pollable->node, &priv->pollable_list);
}
-static void mowgli_select_eventloop_setselect(mowgli_eventloop_t *eventloop, mowgli_eventloop_pollable_t *pollable, mowgli_eventloop_io_dir_t dir, mowgli_eventloop_io_cb_t *event_function)
+static void
+mowgli_select_eventloop_setselect(mowgli_eventloop_t *eventloop, mowgli_eventloop_pollable_t *pollable, mowgli_eventloop_io_dir_t dir, mowgli_eventloop_io_cb_t *event_function)
{
mowgli_select_eventloop_private_t *priv;
@@ -79,9 +84,9 @@ static void mowgli_select_eventloop_setselect(mowgli_eventloop_t *eventloop, mow
priv = eventloop->poller;
-#ifdef DEBUG
+# ifdef DEBUG
mowgli_log("setselect %p fd %d func %p", pollable, pollable->fd, event_function);
-#endif
+# endif
if (pollable->read_function || pollable->write_function)
mowgli_node_delete(&pollable->node, &priv->pollable_list);
@@ -99,9 +104,9 @@ static void mowgli_select_eventloop_setselect(mowgli_eventloop_t *eventloop, mow
break;
}
-#ifdef DEBUG
+# ifdef DEBUG
mowgli_log("%p -> read %p : write %p", pollable, pollable->read_function, pollable->write_function);
-#endif
+# endif
if (pollable->read_function || pollable->write_function)
mowgli_node_add(pollable, &pollable->node, &priv->pollable_list);
@@ -109,7 +114,8 @@ static void mowgli_select_eventloop_setselect(mowgli_eventloop_t *eventloop, mow
return;
}
-static void mowgli_select_eventloop_select(mowgli_eventloop_t *eventloop, int delay)
+static void
+mowgli_select_eventloop_select(mowgli_eventloop_t *eventloop, int delay)
{
mowgli_node_t *n, *tn;
mowgli_eventloop_pollable_t *pollable;
@@ -126,13 +132,13 @@ static void mowgli_select_eventloop_select(mowgli_eventloop_t *eventloop, int de
FD_ZERO(&wfds);
FD_ZERO(&efds);
- MOWGLI_ITER_FOREACH_SAFE(n, tn, priv->pollable_list.head)
- {
+ MOWGLI_ITER_FOREACH_SAFE(n, tn, priv->pollable_list.head)
+ {
mowgli_eventloop_pollable_t *pollable = n->data;
-#ifdef DEBUG
+# ifdef DEBUG
mowgli_log("considering fd %d pollable %p count %d", pollable->fd, pollable, priv->pollable_list.count);
-#endif
+# endif
if (pollable->read_function || pollable->write_function)
{
@@ -164,13 +170,13 @@ static void mowgli_select_eventloop_select(mowgli_eventloop_t *eventloop, int de
{
pollable = n->data;
- if ((FD_ISSET(pollable->fd, &rfds) || FD_ISSET(pollable->fd, &efds)) && pollable->read_function)
+ if ((FD_ISSET(pollable->fd, &rfds) || FD_ISSET(pollable->fd, &efds)))
{
-#ifdef DEBUG
+# ifdef DEBUG
mowgli_log("run %p(%p, %p, MOWGLI_EVENTLOOP_IO_READ, %p)\n", pollable->read_function, eventloop, pollable, pollable->userdata);
-#endif
+# endif
- pollable->read_function(eventloop, pollable, MOWGLI_EVENTLOOP_IO_READ, pollable->userdata);
+ mowgli_pollable_trigger(eventloop, pollable, MOWGLI_EVENTLOOP_IO_READ);
}
}
@@ -178,19 +184,20 @@ static void mowgli_select_eventloop_select(mowgli_eventloop_t *eventloop, int de
{
pollable = n->data;
- if ((FD_ISSET(pollable->fd, &wfds) || FD_ISSET(pollable->fd, &efds)) && pollable->write_function)
+ if ((FD_ISSET(pollable->fd, &wfds) || FD_ISSET(pollable->fd, &efds)))
{
-#ifdef DEBUG
+# ifdef DEBUG
mowgli_log("run %p(%p, %p, MOWGLI_EVENTLOOP_IO_WRITE, %p)\n", pollable->write_function, eventloop, pollable, pollable->userdata);
-#endif
+# endif
- pollable->write_function(eventloop, pollable, MOWGLI_EVENTLOOP_IO_WRITE, pollable->userdata);
+ mowgli_pollable_trigger(eventloop, pollable, MOWGLI_EVENTLOOP_IO_WRITE);
}
}
}
}
-mowgli_eventloop_ops_t _mowgli_select_pollops = {
+mowgli_eventloop_ops_t _mowgli_select_pollops =
+{
.timeout_once = mowgli_simple_eventloop_timeout_once,
.run_once = mowgli_simple_eventloop_run_once,
.pollsetup = mowgli_select_eventloop_pollsetup,