summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garcia Campos <cgarcia@igalia.com>2021-05-24 16:04:42 +0200
committerCarlos Garcia Campos <cgarcia@igalia.com>2021-05-24 16:04:42 +0200
commitc83062d16b04bdcfeb6bb12859ce937ebaa69ba8 (patch)
tree45b733e6723a977f710c3427db5fb1aaac2f86d7
parent985c0ac22cc4b775d722d8b10997588be354db43 (diff)
downloadlibsoup-c83062d16b04bdcfeb6bb12859ce937ebaa69ba8.tar.gz
io-http2: reset the data source buffer size on eof
Otherwise on next source data callback we would still be trying to send data.
-rw-r--r--libsoup/http2/soup-client-message-io-http2.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libsoup/http2/soup-client-message-io-http2.c b/libsoup/http2/soup-client-message-io-http2.c
index e5a640d3..4eaf4d43 100644
--- a/libsoup/http2/soup-client-message-io-http2.c
+++ b/libsoup/http2/soup-client-message-io-http2.c
@@ -589,9 +589,10 @@ on_data_read (GInputStream *source,
if (read < 0) {
g_byte_array_set_size (data->data_source_buffer, 0);
data->data_source_error = g_steal_pointer (&error);
- } else if (read == 0)
+ } else if (read == 0) {
+ g_byte_array_set_size (data->data_source_buffer, 0);
data->data_source_eof = TRUE;
- else
+ } else
g_byte_array_set_size (data->data_source_buffer, read);
h2_debug (data->io, data, "[SEND_BODY] Resuming send");