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