X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-supervision.c;h=1ff8f8b56b0337ec5a0baf35a09ff0b71cbed90c;hb=393a809105baea0dd694cbac57c11f229d50b6e6;hp=f41ca18b53b3dd74eb78ddfe5586346a6257bc2d;hpb=abbb4599f0b921c6f434b6bd02bcfb277eecf745;p=src%2Fapp-framework-binder.git diff --git a/src/afb-supervision.c b/src/afb-supervision.c index f41ca18b..1ff8f8b5 100644 --- a/src/afb-supervision.c +++ b/src/afb-supervision.c @@ -43,6 +43,7 @@ #include "afs-supervision.h" #include "afb-stub-ws.h" #include "afb-debug.h" +#include "afb-fdev.h" #include "verbose.h" #include "wrap-json.h" #include "jobs.h" @@ -138,6 +139,7 @@ static void try_connect_supervisor() int fd; ssize_t srd; struct afs_supervision_initiator initiator; + struct fdev *fdev; /* get the mutex */ pthread_mutex_lock(&mutex); @@ -195,10 +197,15 @@ static void try_connect_supervisor() } /* make the supervisor link */ - supervisor = afb_stub_ws_create_server(fd, supervision_apiname, supervision_apiset); + fdev = afb_fdev_create(fd); + if (!fdev) { + ERROR("Creation of fdev failed: %m"); + goto end2; + } + supervisor = afb_stub_ws_create_server(fdev, supervision_apiname, supervision_apiset); if (!supervisor) { ERROR("Creation of supervisor failed: %m"); - goto end2; + goto end; } afb_stub_ws_on_hangup(supervisor, on_supervisor_hangup); @@ -284,7 +291,6 @@ static const char *verbs[] = { "break", "config", "do", "exit", "sclose", "slist", "trace", "wait" }; enum { Break , Config , Do , Exit , Sclose , Slist , Trace , Wait }; - static void on_supervision_call(void *closure, struct afb_xreq *xreq) { int i, rc; @@ -342,7 +348,8 @@ static void on_supervision_call(void *closure, struct afb_xreq *xreq) if (!trace) trace = afb_trace_create(supervision_apiname, NULL /* not bound to any session */); - req = afb_xreq_unstore((struct afb_stored_req*)xreq); + req = xreq_to_req(xreq); + add = drop = NULL; wrap_json_unpack(args, "{s?o s?o}", "add", &add, "drop", &drop); if (add) { rc = afb_trace_add(req, add, trace);