summaryrefslogtreecommitdiff
path: root/libsoup
diff options
context:
space:
mode:
Diffstat (limited to 'libsoup')
-rw-r--r--libsoup/soup-session.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c
index f2bd34b9..bec4c924 100644
--- a/libsoup/soup-session.c
+++ b/libsoup/soup-session.c
@@ -2372,7 +2372,13 @@ soup_session_real_cancel_message (SoupSession *session, SoupMessage *msg, guint
item = soup_message_queue_lookup (priv->queue, msg);
g_return_if_fail (item != NULL);
- item->paused = FALSE;
+ if (item->paused) {
+ item->paused = FALSE;
+
+ if (item->state == SOUP_MESSAGE_RUNNING)
+ soup_message_io_unpause (msg);
+ }
+
soup_message_set_status (msg, status_code);
g_cancellable_cancel (item->cancellable);