dovecot-2.2: lib-http server: Create a new data stack frame for ...
dovecot at dovecot.org
dovecot at dovecot.org
Tue Aug 5 14:30:10 UTC 2014
details: http://hg.dovecot.org/dovecot-2.2/rev/7e084d643e59
changeset: 17679:7e084d643e59
user: Timo Sirainen <tss at iki.fi>
date: Tue Aug 05 16:28:15 2014 +0200
description:
lib-http server: Create a new data stack frame for all the callbacks.
diffstat:
src/lib-http/http-server-connection.c | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diffs (36 lines):
diff -r c9151da3a9b3 -r 7e084d643e59 src/lib-http/http-server-connection.c
--- a/src/lib-http/http-server-connection.c Tue Aug 05 16:22:43 2014 +0200
+++ b/src/lib-http/http-server-connection.c Tue Aug 05 16:28:15 2014 +0200
@@ -367,6 +367,7 @@
struct http_server_request *req, *pending_request;
enum http_request_parse_error error_code;
const char *error;
+ bool cont;
int ret;
i_assert(!conn->input_broken && conn->incoming_payload == NULL);
@@ -431,7 +432,10 @@
/* handle request
req may be destroyed after this, so don't refer to it if ret > 0 */
http_server_request_ref(req);
- if (!http_server_connection_handle_request(conn, req)) {
+ T_BEGIN {
+ cont = http_server_connection_handle_request(conn, req);
+ } T_END;
+ if (!cont) {
http_server_request_unref(&req);
return;
}
@@ -828,10 +832,10 @@
connection_deinit(&conn->conn);
if (conn->callbacks != NULL &&
- conn->callbacks->connection_destroy != NULL) {
+ conn->callbacks->connection_destroy != NULL) T_BEGIN {
conn->callbacks->connection_destroy
(conn->context, conn->disconnect_reason);
- }
+ } T_END;
i_free(conn->disconnect_reason);
i_free(conn);
More information about the dovecot-cvs
mailing list