X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-api-so-v1.c;fp=src%2Fafb-api-so-v1.c;h=a341dac3e04f48b9bd717b73569b0f4c2bf1786a;hb=36c7ab15e79d6b0ff6188b61da1061f36b902f8e;hp=2a5dc08a827bd4fa6f51de2ff283e774dfcb4b35;hpb=1da7c5d76ee6abca43b83485adcd66d3a1ba55f8;p=src%2Fapp-framework-binder.git diff --git a/src/afb-api-so-v1.c b/src/afb-api-so-v1.c index 2a5dc08a..a341dac3 100644 --- a/src/afb-api-so-v1.c +++ b/src/afb-api-so-v1.c @@ -88,7 +88,7 @@ static int service_start_cb(void *closure, int share_session, int onneed, struct if (desc->service != NULL) { /* not an error when onneed */ if (onneed != 0) - return 0; + goto done; /* already started: it is an error */ ERROR("Service %s already started", desc->binding->v1.prefix); @@ -101,7 +101,7 @@ static int service_start_cb(void *closure, int share_session, int onneed, struct if (init == NULL && onevent == NULL) { /* not an error when onneed */ if (onneed != 0) - return 0; + goto done; /* no initialisation method */ ERROR("Binding %s is not a service", desc->binding->v1.prefix); @@ -116,6 +116,7 @@ static int service_start_cb(void *closure, int share_session, int onneed, struct } /* Starts the service */ + desc->ditf.state = Daemon_Init; rc = afb_svc_start_v1(desc->service, init); if (rc < 0) { /* initialisation error */ @@ -125,6 +126,8 @@ static int service_start_cb(void *closure, int share_session, int onneed, struct return rc; } +done: + desc->ditf.state = Daemon_Run; return 0; }