From ea0f5481f01eacedff264bf08144164aa989ec4d Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Mon, 5 May 2014 16:06:42 +0200 Subject: http: Add reference counting to the session object. * common/http.c (http_session_t): Add field "refcount". (_my_socket_new, _my_socket_ref, _my_socket_unref): Add debug code. (send_request, my_npth_read, my_npth_write): Use SOCK object for the transport ptr. (http_session_release): Factor all code out to ... (session_unref): here. Deref SOCK. (http_session_new): Init refcount and transport ptr. (http_session_ref): New. Ref and unref all assignments. -- Having the reference counted session objects makes it easier for the application to pass around only an estream. Without that the application would need to implement an es_onclose machinery for the session object. --- common/http.h | 1 + 1 file changed, 1 insertion(+) (limited to 'common/http.h') diff --git a/common/http.h b/common/http.h index fa73b6e59..b6471b6b8 100644 --- a/common/http.h +++ b/common/http.h @@ -95,6 +95,7 @@ void http_register_tls_ca (const char *fname); gpg_error_t http_session_new (http_session_t *r_session, const char *tls_priority); +http_session_t http_session_ref (http_session_t sess); void http_session_release (http_session_t sess); -- cgit v1.2.3