[glib] GDBusWorker: continue_writing: initialize flush_async_data if closing



commit 968ef5f5ffbe5e694bae3052bea34e9b9d1aef35
Author: Simon McVittie <simon mcvittie collabora co uk>
Date:   Wed Nov 23 11:20:15 2011 +0000

    GDBusWorker: continue_writing: initialize flush_async_data if closing
    
    This was a regression in commit f41178c6c: flush_async_data wasn't
    necessarily NULL in the "don't flush" case.
    
    Also move initialization of these variables up so that it's
    unconditional, since that's easier to verify than checking
    that each branch gets it right.
    
    Bug: https://bugzilla.gnome.org/show_bug.cgi?id=664617
    Signed-off-by: Simon McVittie <simon mcvittie collabora co uk>

 gio/gdbusprivate.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)
---
diff --git a/gio/gdbusprivate.c b/gio/gdbusprivate.c
index 178214e..5b3b77d 100644
--- a/gio/gdbusprivate.c
+++ b/gio/gdbusprivate.c
@@ -1441,6 +1441,9 @@ continue_writing (GDBusWorker *worker)
 
   g_mutex_lock (&worker->write_lock);
 
+  data = NULL;
+  flush_async_data = NULL;
+
   /* if we want to close the connection, that takes precedence */
   if (worker->pending_close_attempts != NULL)
     {
@@ -1450,7 +1453,6 @@ continue_writing (GDBusWorker *worker)
       g_io_stream_close_async (worker->stream, G_PRIORITY_DEFAULT,
                                NULL, iostream_close_cb,
                                _g_dbus_worker_ref (worker));
-      data = NULL;
     }
   else
     {
@@ -1463,10 +1465,6 @@ continue_writing (GDBusWorker *worker)
           if (data != NULL)
             worker->output_pending = PENDING_WRITE;
         }
-      else
-        {
-          data = NULL;
-        }
     }
 
   g_mutex_unlock (&worker->write_lock);



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