X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fevmgr.c;h=744d08ba02e89da032fc74894e61178cc62330a8;hb=f3d1f19ae308cc0559728c0ccf6281cbce5ee37c;hp=2dc35e4280aec940445a7edce556d97dd5082dac;hpb=d9de3cd38b17ad16fb6ad6f74e83f4700c5f2b49;p=src%2Fapp-framework-binder.git diff --git a/src/evmgr.c b/src/evmgr.c index 2dc35e42..744d08ba 100644 --- a/src/evmgr.c +++ b/src/evmgr.c @@ -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; }