dovecot-2.2: lib-http server: Made http_server_request_[un]ref()...
dovecot at dovecot.org
dovecot at dovecot.org
Tue Aug 5 15:45:36 UTC 2014
details: http://hg.dovecot.org/dovecot-2.2/rev/beaee1a2ad61
changeset: 17680:beaee1a2ad61
user: Timo Sirainen <tss at iki.fi>
date: Tue Aug 05 17:37:25 2014 +0200
description:
lib-http server: Made http_server_request_[un]ref() public.
Also http_server_request_unref() now returns if this was the last reference
or not.
diffstat:
src/lib-http/http-server-private.h | 2 --
src/lib-http/http-server-request.c | 5 +++--
src/lib-http/http-server.h | 6 ++++++
3 files changed, 9 insertions(+), 4 deletions(-)
diffs (56 lines):
diff -r 7e084d643e59 -r beaee1a2ad61 src/lib-http/http-server-private.h
--- a/src/lib-http/http-server-private.h Tue Aug 05 16:28:15 2014 +0200
+++ b/src/lib-http/http-server-private.h Tue Aug 05 17:37:25 2014 +0200
@@ -156,8 +156,6 @@
struct http_server_request *
http_server_request_new(struct http_server_connection *conn);
-void http_server_request_ref(struct http_server_request *req);
-void http_server_request_unref(struct http_server_request **_req);
void http_server_request_abort(struct http_server_request **_req);
void http_server_request_halt_payload(struct http_server_request *req);
diff -r 7e084d643e59 -r beaee1a2ad61 src/lib-http/http-server-request.c
--- a/src/lib-http/http-server-request.c Tue Aug 05 16:28:15 2014 +0200
+++ b/src/lib-http/http-server-request.c Tue Aug 05 17:37:25 2014 +0200
@@ -28,14 +28,14 @@
req->refcount++;
}
-void http_server_request_unref(struct http_server_request **_req)
+bool http_server_request_unref(struct http_server_request **_req)
{
struct http_server_request *req = *_req;
struct http_server_connection *conn = req->conn;
i_assert(req->refcount > 0);
if (--req->refcount > 0)
- return;
+ return TRUE;
if (req->state < HTTP_SERVER_REQUEST_STATE_FINISHED) {
req->state = HTTP_SERVER_REQUEST_STATE_ABORTED;
@@ -52,6 +52,7 @@
http_server_response_free(req->response);
pool_unref(&req->pool);
*_req = NULL;
+ return FALSE;
}
void http_server_request_set_destroy_callback(struct http_server_request *req,
diff -r 7e084d643e59 -r beaee1a2ad61 src/lib-http/http-server.h
--- a/src/lib-http/http-server.h Tue Aug 05 16:28:15 2014 +0200
+++ b/src/lib-http/http-server.h Tue Aug 05 17:37:25 2014 +0200
@@ -82,6 +82,12 @@
void (*callback)(void *),
void *context);
+/* Reference a server request */
+void http_server_request_ref(struct http_server_request *req);
+/* Unreference a server request. Returns TRUE if there are still more
+ references, FALSE if not. */
+bool http_server_request_unref(struct http_server_request **_req);
+
/* Start creating the response for the request. This function can be called
only once for each request. */
struct http_server_response *
More information about the dovecot-cvs
mailing list