From 62b501232e0657d55d8dc3a1570e817b29e8d4c7 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Thu, 3 May 2012 20:20:29 -0400 Subject: Fix a few recent request API bugs, add some more tests --- libsoup/soup-session-async.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libsoup/soup-session-async.c') diff --git a/libsoup/soup-session-async.c b/libsoup/soup-session-async.c index 0f3aefff..4f882069 100644 --- a/libsoup/soup-session-async.c +++ b/libsoup/soup-session-async.c @@ -562,6 +562,7 @@ send_request_restarted (SoupSession *session, SoupMessageQueueItem *item) { /* We won't be needing this, then. */ g_object_set_data (G_OBJECT (item->msg), "SoupSessionAsync:ostream", NULL); + item->io_started = FALSE; } static void @@ -587,7 +588,7 @@ send_request_finished (SoupSession *session, SoupMessageQueueItem *item) size = g_memory_output_stream_get_data_size (mostream); data = size ? g_memory_output_stream_steal_data (mostream) : g_strdup (""); istream = g_memory_input_stream_new_from_data (data, size, g_free); - } else { + } else if (item->io_started) { /* The message finished before becoming readable. This * will happen, eg, if it's cancelled from got-headers. * Do nothing; the op will complete via read_ready_cb() @@ -702,6 +703,7 @@ try_run_until_read (SoupMessageQueueItem *item) static void send_request_running (SoupSession *session, SoupMessageQueueItem *item) { + item->io_started = TRUE; try_run_until_read (item); } -- cgit v1.2.1