GNOME Bugzilla – Bug 687534
After port to gdbus, timeout on dbus connection changed to dbus default (25 seconds) and blocking pull/push now timeout
Last modified: 2012-12-03 13:16:58 UTC
I've been testing my MTP backend with 1.14.0 and I've observed that I now see dbus timeout errors during push and pull operations. I've implemented these in a blocking way as that's how libmtp works, and it means that the dbus timeout is effectively being applied to the whole transfer, causing any large transfers to get timed out. This didn't happen with 1.12.x
Created attachment 227992 [details] [review] Patch to adjust timeout for file transfers As a file transfer can take arbitrary amounts of time, it doesn't seem that any timeout value is wise. This patch sets the value to G_MAXINT which disables the timeout logic in GIO.
Created attachment 228151 [details] [review] Patch to adjust all GFile methods timeout Good point. Looking at the old code, it was using G_VFS_DBUS_TIMEOUT_MSECS = (1000*60) ms = 1 minute which got away for the gdbus port. Not sure what was the original purpose (apart from defining some universal timeout) but thinking about it, we may easily use the infinite timeout for all GDaemonFile methods. There's a cancellation after all. Attaching new patch setting default timeout to infinite for all GDaemonFile calls.
Review of attachment 228151 [details] [review]: Looks good to me.
Committed to master: commit c2b246c8e9ee67034aa0e0017516bc0f05448783 Author: Tomas Bzatek <tbzatek@redhat.com> Date: Mon Dec 3 14:15:33 2012 +0100 client: Set default timeout to infinite for all GDaemonFile methods Certain operations may take a lot of time to complete, don't timeout on that. Use cancellable if you need to control the flow. https://bugzilla.gnome.org/show_bug.cgi?id=687534