#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"
extern struct afb_config *main_config;
/* api and apiset name */
-static const char supervision_apiname[] = AFS_SURPERVISION_APINAME_INTERNAL;
+static const char supervision_apiname[] = AFS_SURPERVISION_APINAME;
+static const char supervisor_apiname[] = AFS_SURPERVISOR_APINAME;
/* path of the supervision socket */
static const char supervisor_socket_path[] = AFS_SURPERVISION_SOCKET;
int fd;
ssize_t srd;
struct afs_supervision_initiator initiator;
+ struct fdev *fdev;
/* get the mutex */
pthread_mutex_lock(&mutex);
}
/* 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);
"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;
break;
case Trace:
if (!trace)
- trace = afb_trace_create(supervision_apiname, NULL /* not bound to any session */);
+ trace = afb_trace_create(supervisor_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);