sreq->xreq.context.validated = 1;
sreq->api = strndup(api, verb - api);
sreq->verb = strndup(verb + 1, json - verb - 1);
- sreq->xreq.api = sreq->api;
- sreq->xreq.verb = sreq->verb;
+ sreq->xreq.request.api = sreq->api;
+ sreq->xreq.request.verb = sreq->verb;
sreq->xreq.json = json_tokener_parse(json + 1);
if (sreq->api && sreq->verb && sreq->xreq.json) {
afb_xreq_process(&sreq->xreq, main_apiset);
list = config->calls;
if (list) {
sreq = calloc(1, sizeof *sreq);
- sreq->session = afb_session_create("startup", 3600);
+ sreq->session = afb_session_create(3600);
sreq->current = list;
startup_call_current(sreq);
}
| job for starting the daemon
+--------------------------------------------------------- */
-static void start(int signum)
+static void start(int signum, void *arg)
{
struct afb_hsrv *hsrv;
}
/* configure the daemon */
- afb_session_init(config->nbSessionMax, config->cntxTimeout, config->token);
+ if (afb_session_init(config->nbSessionMax, config->cntxTimeout, config->token)) {
+ ERROR("initialisation of session manager failed");
+ goto error;
+ }
if (!afb_hreq_init_cookie(config->httpdPort, config->rootapi, config->cntxTimeout)) {
ERROR("initialisation of cookies failed");
goto error;
afb_debug("start-load");
apiset_start_list(config->so_bindings, afb_api_so_add_binding, "the binding");
apiset_start_list(config->dbus_clients, afb_api_dbus_add_client, "the afb-dbus client");
- apiset_start_list(config->ws_clients, afb_api_ws_add_client, "the afb-websocket client");
+ apiset_start_list(config->ws_clients, afb_api_ws_add_client_weak, "the afb-websocket client");
apiset_start_list(config->ldpaths, afb_api_so_add_pathset_fails, "the binding path set");
apiset_start_list(config->weak_ldpaths, afb_api_so_add_pathset_nofails, "the weak binding path set");
afb_debug("main-start");
/* enter job processing */
- jobs_start(3, 0, 50, start);
+ jobs_start(3, 0, 50, start, NULL);
WARNING("hoops returned from jobs_enter! [report bug]");
return 1;
}