[gvfs] backend: Hold reference during force unmount
- From: Ondrej Holy <oholy src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gvfs] backend: Hold reference during force unmount
- Date: Fri, 27 Jan 2017 07:21:16 +0000 (UTC)
commit 1ccf7766efc57d9784e5e0b3cba33f5446052d24
Author: Ondrej Holy <oholy redhat com>
Date: Thu Jan 26 14:53:05 2017 +0100
backend: Hold reference during force unmount
g_vfs_backend_force_unmount may be called multiple times, or in
parallel with regular unmount operation. Hold backend reference during
the whole force unmount procedure in order to avoid unwanted segfaults.
https://bugzilla.gnome.org/show_bug.cgi?id=777794
daemon/gvfsbackend.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/daemon/gvfsbackend.c b/daemon/gvfsbackend.c
index d2750da..711c533 100644
--- a/daemon/gvfsbackend.c
+++ b/daemon/gvfsbackend.c
@@ -1046,6 +1046,7 @@ forced_unregister_mount_callback (GVfsDBusMountTracker *proxy,
g_vfs_daemon_close_active_channels (daemon, backend);
g_vfs_job_source_closed (G_VFS_JOB_SOURCE (backend));
+ g_object_unref (backend);
}
void
@@ -1053,7 +1054,7 @@ g_vfs_backend_force_unmount (GVfsBackend *backend)
{
g_vfs_backend_set_block_requests (backend, TRUE);
g_vfs_backend_unregister_mount (backend,
- (GAsyncReadyCallback) forced_unregister_mount_callback,
- backend);
+ (GAsyncReadyCallback) forced_unregister_mount_callback,
+ g_object_ref (backend));
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]