Update copyright dates
[src/app-framework-binder.git] / src / evmgr.c
index 2dc35e4..623bdf7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2016-2019 "IoT.bzh"
+ * Copyright (C) 2015-2020 "IoT.bzh"
  * Author José Bollo <jose.bollo@iot.bzh>
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -47,6 +47,14 @@ struct evmgr
 #define EVLOOP_STATE_WAIT           1U
 #define EVLOOP_STATE_RUN            2U
 
+/**
+ * prepare the evmgr to run
+ */
+void evmgr_prepare_run(struct evmgr *evmgr)
+{
+       evmgr->state = EVLOOP_STATE_WAIT|EVLOOP_STATE_RUN;
+}
+
 /**
  * Run the event loop is set.
  */
@@ -185,13 +193,14 @@ int evmgr_create(struct evmgr **result)
        /* creates the eventfd for waking up polls */
        evmgr->efd = eventfd(0, EFD_CLOEXEC|EFD_SEMAPHORE);
        if (evmgr->efd < 0) {
-               ERROR("can't make eventfd for events");
                rc = -errno;
+               ERROR("can't make eventfd for events");
                goto error1;
        }
        /* create the systemd event loop */
        evmgr->sdev = systemd_get_event_loop();
        if (!evmgr->sdev) {
+               rc = -errno;
                ERROR("can't make new event loop");
                goto error2;
        }