X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-stub-ws.c;h=10b3fc7757794cf22f008f9b58df72b4e45b4a53;hb=369d9bec9837dae5a5fbd8c373429eda91181b1d;hp=974ea07e089ccd35e569978a9890577ac49d4d4e;hpb=12ec841c28f8f795b49466cc377e64db3146430d;p=src%2Fapp-framework-binder.git diff --git a/src/afb-stub-ws.c b/src/afb-stub-ws.c index 974ea07e..10b3fc77 100644 --- a/src/afb-stub-ws.c +++ b/src/afb-stub-ws.c @@ -50,16 +50,6 @@ struct afb_stub_ws; -/* - * structure for recording calls on client side - */ -struct client_call { - struct client_call *next; /* the next call */ - struct afb_stub_ws *stubws; /* the stub_ws */ - struct afb_xreq *xreq; /* the request handle */ - uint32_t msgid; /* the message identifier */ -}; - /* * structure for a ws request */ @@ -597,6 +587,11 @@ static void on_hangup(void *closure) afb_stub_ws_unref(stubws); } +static int enqueue_processing(void (*callback)(int signum, void* arg), void *arg) +{ + return jobs_queue(NULL, 0, callback, arg); +} + /*****************************************************/ static struct afb_stub_ws *afb_stub_ws_create(struct fdev *fdev, const char *apiname, struct afb_apiset *apiset, int client) @@ -617,6 +612,7 @@ static struct afb_stub_ws *afb_stub_ws_create(struct fdev *fdev, const char *api stubws->apiset = afb_apiset_addref(apiset); stubws->refcount = 1; afb_proto_ws_on_hangup(stubws->proto, on_hangup); + afb_proto_ws_set_queuing(stubws->proto, enqueue_processing); return stubws; } free(stubws); @@ -664,7 +660,7 @@ void afb_stub_ws_addref(struct afb_stub_ws *stubws) __atomic_add_fetch(&stubws->refcount, 1, __ATOMIC_RELAXED); } -void afb_stub_ws_on_hangup(struct afb_stub_ws *stubws, void (*on_hangup)(struct afb_stub_ws*)) +void afb_stub_ws_set_on_hangup(struct afb_stub_ws *stubws, void (*on_hangup)(struct afb_stub_ws*)) { stubws->on_hangup = on_hangup; }