<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hello,</p>
<p>I found the patch that fixes it: it is
d20c6601664624116f3dc43f21c7ec4a186cf8d3 in the GIT repository.
The patch itself is this:</p>
<div
style="color: #3b3b3b;background-color: #ffffff;font-family: 'Droid Sans Mono', 'monospace', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;"><div><span
style="color: #000080;">diff --git a/libsoup/server/http1/soup-server-message-io-http1.c b/libsoup/server/http1/soup-server-message-io-http1.c</span></div><div><span
style="color: #3b3b3b;">index 90139f2b..3803cabc 100644</span></div><div><span
style="color: #000080;">--- a/libsoup/server/http1/soup-server-message-io-http1.c</span></div><div><span
style="color: #000080;">+++ b/libsoup/server/http1/soup-server-message-io-http1.c</span></div><div><span
style="color: #3b3b3b;">@@ -122,21 +122,22 @@ soup_server_message_io_http1_finished (SoupServerMessageIO *iface,</span></div><div><span
style="color: #3b3b3b;"> </span></div><div><span
style="color: #3b3b3b;"> g_object_ref (msg);</span></div><div><span
style="color: #3b3b3b;"> g_clear_pointer (&io->msg_io, soup_message_io_http1_free);</span></div><div><span
style="color: #a31515;">- if (completion_cb)</span></div><div><span
style="color: #a31515;">- completion_cb (G_OBJECT (msg), completion, completion_data);</span></div><div><span
style="color: #3b3b3b;"> conn = soup_server_message_get_connection (msg);</span></div><div><span
style="color: #a31515;">- if (completion == SOUP_MESSAGE_IO_COMPLETE &&</span></div><div><span
style="color: #a31515;">- soup_server_connection_is_connected (conn) &&</span></div><div><span
style="color: #a31515;">- soup_server_message_is_keepalive (msg)) {</span></div><div><span
style="color: #a31515;">- io->msg_io = soup_message_io_http1_new (soup_server_message_new (conn));</span></div><div><span
style="color: #a31515;">- io->msg_io->base.io_source = soup_message_io_data_get_source (&io->msg_io->base,</span></div><div><span
style="color: #a31515;">- G_OBJECT (io->msg_io->msg),</span></div><div><span
style="color: #a31515;">- io->istream,</span></div><div><span
style="color: #a31515;">- io->ostream,</span></div><div><span
style="color: #a31515;">- NULL,</span></div><div><span
style="color: #a31515;">- (SoupMessageIOSourceFunc)io_run_ready,</span></div><div><span
style="color: #a31515;">- NULL);</span></div><div><span
style="color: #a31515;">- g_source_attach (io->msg_io->base.io_source, io->msg_io->async_context);</span></div><div><span
style="color: #098658;">+ if (completion_cb) {</span></div><div><span
style="color: #098658;">+ completion_cb (G_OBJECT (msg), completion, completion_data);</span></div><div><span
style="color: #098658;">+ if (soup_server_connection_is_connected (conn)) {</span></div><div><span
style="color: #098658;">+ io->msg_io = soup_message_io_http1_new (soup_server_message_new (conn));</span></div><div><span
style="color: #098658;">+ io->msg_io->base.io_source = soup_message_io_data_get_source (&io->msg_io->base,</span></div><div><span
style="color: #098658;">+ G_OBJECT (io->msg_io->msg),</span></div><div><span
style="color: #098658;">+ io->istream,</span></div><div><span
style="color: #098658;">+ io->ostream,</span></div><div><span
style="color: #098658;">+ NULL,</span></div><div><span
style="color: #098658;">+ (SoupMessageIOSourceFunc)io_run_ready,</span></div><div><span
style="color: #098658;">+ NULL);</span></div><div><span
style="color: #098658;">+ g_source_attach (io->msg_io->base.io_source, io->msg_io->async_context);</span></div><div><span
style="color: #098658;">+ }</span></div><div><span
style="color: #098658;">+ } else {</span></div><div><span
style="color: #098658;">+ soup_server_connection_disconnect (conn);</span></div><div><span
style="color: #3b3b3b;"> }</span></div><div><span
style="color: #3b3b3b;"> g_object_unref (msg);</span></div><div><span
style="color: #3b3b3b;"> }</span></div><div><span
style="color: #3b3b3b;">
</span></div><div><span style="color: #3b3b3b;">Although the diff in the GIT repository also adds an extra method in the soup-server class used by an extra unitary test that checks for this.
</span></div></div>
<p></p>
</body>
</html>