Re: [PATCH] Fix autorun + mounts outside /media



[removing gvfs-list, this is only relevant for nautilus-list]

El jue, 17-04-2008 a las 17:17 -0400, David Zeuthen escribió:
> On Thu, 2008-04-17 at 20:59 +0200, Christian Neumair wrote:
> > I intentionally moved autorun inhibition to the mount operation
> > callbacks, since it may take may take longer than the inhibition/allow
> > GTimeout to mount a volume.
> >
> > Therefore, could you please modify the patch to reflect the old
> > semantics of nautilus_file_operations_mount_volume() /
> > volume_mount_cb(), just with s^inhibit^allow^?
> 
> Sorry, I probably should have noted this in the ChangeLog. I changed
> that because it was racy; the signal handler for mount_added from the
> volume monitor was triggered before the callback saying that mounting
> completed. Thinking about it I'm not sure if that's just a gvfs bug, if
> it's desired behavior of if we leave it to be undefined. Tricky.
> 
> (...) Either way, we should probably increase the timeout.

I do not think that during mount operations a fixed timeout does make
sense. Mount operations can take very long (out-of-process
authentication, slow network etc.).

Speaking about timing, the following two situations may occur:
* volume monitor emission happens before mount callback
* volume monitor emission happens after mount callback

To handle both, my proposal would be to migrate to the following API:

nautilus_allow_autorun_for_volume (GVolume *volume)
* called right before g_volume_mount()
* just sets "nautilus-allow-autorun"

nautilus_allow_autorun_for_volume_finish (GVolume *volume)
* called from volume mount callback
* just installs the remove_allow_volume() timeout, iff the volume's
"nautilus-allow-volume" property is set.

This would account for both situations.

best regards,
 Christian Neumair

-- 
Christian Neumair <cneumair gnome org>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]