/*
- * Copyright 2016 IoT.bzh
+ * Copyright (C) 2016 "IoT.bzh"
* Author: José Bollo <jose.bollo@iot.bzh>
*
* Licensed under the Apache License, Version 2.0 (the "License");
#include <systemd/sd-event.h>
#include "afb-method.h"
+#include "afb-context.h"
#include "afb-hreq.h"
#include "afb-hsrv.h"
#include "afb-req-itf.h"
}
/* init the request */
+ hreq->refcount = 1;
hreq->hsrv = hsrv;
hreq->cacheTimeout = hsrv->cache_to;
hreq->reqid = ++global_reqids;
hreq = *recordreq;
if (hreq->upgrade)
MHD_suspend_connection (connection);
- afb_hreq_free(hreq);
+ afb_hreq_unref(hreq);
}
void run_micro_httpd(struct afb_hsrv *hsrv)
MHD_OPTION_END); /* options-end */
if (httpd == NULL) {
- fprintf(stderr, "Error: httpStart invalid httpd port: %d", (int)port);
+ ERROR("httpStart invalid httpd port: %d", (int)port);
return 0;
}
info = MHD_get_daemon_info(httpd, MHD_DAEMON_INFO_EPOLL_FD_LINUX_ONLY);
if (info == NULL) {
MHD_stop_daemon(httpd);
- fprintf(stderr, "Error: httpStart no pollfd");
+ ERROR("httpStart no pollfd");
return 0;
}
if (rc < 0) {
MHD_stop_daemon(httpd);
errno = -rc;
- fprintf(stderr, "Error: connection to events for httpd failed");
+ ERROR("connection to events for httpd failed");
return 0;
}