walters / rpms / glib2

Forked from rpms/glib2 5 years ago
Clone
ce1e8c8
From 968ef5f5ffbe5e694bae3052bea34e9b9d1aef35 Mon Sep 17 00:00:00 2001
ce1e8c8
From: Simon McVittie <simon.mcvittie@collabora.co.uk>
ce1e8c8
Date: Wed, 23 Nov 2011 11:20:15 +0000
ce1e8c8
Subject: [PATCH 1/2] GDBusWorker: continue_writing: initialize
ce1e8c8
 flush_async_data if closing
ce1e8c8
ce1e8c8
This was a regression in commit f41178c6c: flush_async_data wasn't
ce1e8c8
necessarily NULL in the "don't flush" case.
ce1e8c8
ce1e8c8
Also move initialization of these variables up so that it's
ce1e8c8
unconditional, since that's easier to verify than checking
ce1e8c8
that each branch gets it right.
ce1e8c8
ce1e8c8
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=664617
ce1e8c8
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
ce1e8c8
---
ce1e8c8
 gio/gdbusprivate.c |    8 +++-----
ce1e8c8
 1 files changed, 3 insertions(+), 5 deletions(-)
ce1e8c8
ce1e8c8
diff --git a/gio/gdbusprivate.c b/gio/gdbusprivate.c
ce1e8c8
index 178214e..5b3b77d 100644
ce1e8c8
--- a/gio/gdbusprivate.c
ce1e8c8
+++ b/gio/gdbusprivate.c
ce1e8c8
@@ -1441,6 +1441,9 @@ continue_writing (GDBusWorker *worker)
ce1e8c8
 
ce1e8c8
   g_mutex_lock (&worker->write_lock);
ce1e8c8
 
ce1e8c8
+  data = NULL;
ce1e8c8
+  flush_async_data = NULL;
ce1e8c8
+
ce1e8c8
   /* if we want to close the connection, that takes precedence */
ce1e8c8
   if (worker->pending_close_attempts != NULL)
ce1e8c8
     {
ce1e8c8
@@ -1450,7 +1453,6 @@ continue_writing (GDBusWorker *worker)
ce1e8c8
       g_io_stream_close_async (worker->stream, G_PRIORITY_DEFAULT,
ce1e8c8
                                NULL, iostream_close_cb,
ce1e8c8
                                _g_dbus_worker_ref (worker));
ce1e8c8
-      data = NULL;
ce1e8c8
     }
ce1e8c8
   else
ce1e8c8
     {
ce1e8c8
@@ -1463,10 +1465,6 @@ continue_writing (GDBusWorker *worker)
ce1e8c8
           if (data != NULL)
ce1e8c8
             worker->output_pending = PENDING_WRITE;
ce1e8c8
         }
ce1e8c8
-      else
ce1e8c8
-        {
ce1e8c8
-          data = NULL;
ce1e8c8
-        }
ce1e8c8
     }
ce1e8c8
 
ce1e8c8
   g_mutex_unlock (&worker->write_lock);
ce1e8c8
-- 
ce1e8c8
1.7.7.1
ce1e8c8