[libsoup] soup-session: fix cancellation of paused messages



commit 9a037b7cc3311289d8e438429bc6e730b83db6dc
Author: Sven Neumann <neumann teufel de>
Date:   Wed Feb 25 10:18:01 2015 +0100

    soup-session: fix cancellation of paused messages
    
    If a paused message is cancelled the SoupSessionCallback
    would not have always been called. This is fixed by making
    sure that the message I/O is unpaused when the message
    is cancelled.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=745094

 libsoup/soup-session.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
---
diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c
index f2bd34b..bec4c92 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);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]