mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-04-22 15:19:16 +02:00
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>
This commit is contained in:
parent
1b01109377
commit
968ef5f5ff
@ -1441,6 +1441,9 @@ continue_writing (GDBusWorker *worker)
|
|||||||
|
|
||||||
g_mutex_lock (&worker->write_lock);
|
g_mutex_lock (&worker->write_lock);
|
||||||
|
|
||||||
|
data = NULL;
|
||||||
|
flush_async_data = NULL;
|
||||||
|
|
||||||
/* if we want to close the connection, that takes precedence */
|
/* if we want to close the connection, that takes precedence */
|
||||||
if (worker->pending_close_attempts != NULL)
|
if (worker->pending_close_attempts != NULL)
|
||||||
{
|
{
|
||||||
@ -1450,7 +1453,6 @@ continue_writing (GDBusWorker *worker)
|
|||||||
g_io_stream_close_async (worker->stream, G_PRIORITY_DEFAULT,
|
g_io_stream_close_async (worker->stream, G_PRIORITY_DEFAULT,
|
||||||
NULL, iostream_close_cb,
|
NULL, iostream_close_cb,
|
||||||
_g_dbus_worker_ref (worker));
|
_g_dbus_worker_ref (worker));
|
||||||
data = NULL;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1463,10 +1465,6 @@ continue_writing (GDBusWorker *worker)
|
|||||||
if (data != NULL)
|
if (data != NULL)
|
||||||
worker->output_pending = PENDING_WRITE;
|
worker->output_pending = PENDING_WRITE;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
data = NULL;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
g_mutex_unlock (&worker->write_lock);
|
g_mutex_unlock (&worker->write_lock);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user