diff options
Diffstat (limited to 'client/gvfsdaemondbus.c')
-rw-r--r-- | client/gvfsdaemondbus.c | 8 |
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)) { |