summaryrefslogtreecommitdiffstats
path: root/bin/lem.c
diff options
context:
space:
mode:
Diffstat (limited to 'bin/lem.c')
-rw-r--r--bin/lem.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/bin/lem.c b/bin/lem.c
index 8ee2e8a..0f660e9 100644
--- a/bin/lem.c
+++ b/bin/lem.c
@@ -323,6 +323,15 @@ queue_file(int argc, char *argv[], int fidx)
return 0;
}
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wstrict-aliasing"
+static inline void
+runqueue_wait_init(void)
+{
+ ev_idle_init(&rq.w, runqueue_pop);
+}
+#pragma GCC diagnostic pop
+
int
main(int argc, char *argv[])
{
@@ -355,10 +364,7 @@ main(int argc, char *argv[])
lua_newtable(L);
/* initialize runqueue */
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wstrict-aliasing"
- ev_idle_init(&rq.w, runqueue_pop);
-#pragma GCC diagnostic pop
+ runqueue_wait_init();
ev_idle_start(LEM_ &rq.w);
rq.queue = lem_xmalloc(LEM_INITIAL_QUEUESIZE
* sizeof(struct lem_runqueue_slot));