summaryrefslogtreecommitdiff
path: root/client/gvfsdaemondbus.c
diff options
context:
space:
mode:
Diffstat (limited to 'client/gvfsdaemondbus.c')
-rw-r--r--client/gvfsdaemondbus.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/client/gvfsdaemondbus.c b/client/gvfsdaemondbus.c
index 81fbfe0a..a7a56dfc 100644
--- a/client/gvfsdaemondbus.c
+++ b/client/gvfsdaemondbus.c
@@ -770,6 +770,14 @@ _g_vfs_daemon_call_sync (DBusMessage *message,
"poll error");
goto out;
}
+
+ if (poll_fds[0].revents & (G_IO_NVAL | G_IO_ERR | G_IO_HUP))
+ {
+ dbus_pending_call_unref (pending);
+ g_cancellable_release_fd (cancellable);
+ invalidate_local_connection (dbus_id, error);
+ goto out;
+ }
if (!sent_cancel && g_cancellable_is_cancelled (cancellable))
{