/[Apache-SVN]
ViewVC logotype

Revision 1717013


Jump to revision: Previous Next
Author: rhuijben
Date: Sat Nov 28 23:58:58 2015 UTC (8 years, 7 months ago)
Changed paths: 6
Log Message:
Add a protocol callback for a cleanup step before the requests are done.
This allows cleaning up writer state and thereby avoids segfaults when
buckets are destroyed out of order.

This should solve a segfault/abort() in the Subversion over H2 issue I'm
debugging.

* incoming.c
  (serf_incoming_set_framing_type,
   serf_incoming_create2): Hook pre teardown.

* outgoing.c
  (reset_connection,
   serf_connection_create,
   serf_connection_close,
   serf_connection_set_framing_type): Hook pre teardown.

* protocols/http2_protocol.c
  (http2_outgoing_pre_teardown,
   http2_incoming_pre_teardown): New prototypes.
  (serf__http2_protocol_init,
   serf__http2_protocol_init_server): Hook teardown.
  (http2_outgoing_pre_teardown,
   http2_incoming_pre_teardown): New function.

* protocols/http2_protocol.h
  (serf_http2__stream_pre_cleanup): New function.

* protocols/http2_stream.c
  (serf_http2__stream_pre_cleanup): New function. Destroy data tail here
    instead of...
  (serf_http2__stream_cleanup): ... here.

* serf_private.h
  (serf_incoming_t,
   serf_connection_t): New callback.


Changed paths

Path Details
Directoryserf/trunk/incoming.c modified , text changed
Directoryserf/trunk/outgoing.c modified , text changed
Directoryserf/trunk/protocols/http2_protocol.c modified , text changed
Directoryserf/trunk/protocols/http2_protocol.h modified , text changed
Directoryserf/trunk/protocols/http2_stream.c modified , text changed
Directoryserf/trunk/serf_private.h modified , text changed

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26