http: Add reference counting to the session object.
authorWerner Koch <wk@gnupg.org>
Mon, 5 May 2014 14:06:42 +0000 (16:06 +0200)
committerWerner Koch <wk@gnupg.org>
Mon, 5 May 2014 14:06:42 +0000 (16:06 +0200)
commitea0f5481f01eacedff264bf08144164aa989ec4d
treed6d288d4a2576ab1ab477fd686eaa6d7d8ba3631
parent0e59195642eb26263b8e0b9200290538631d35cd
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.c
common/http.h
common/t-http.c