Re: [PATCH] Fix autorun + mounts outside /media
- From: Christian Neumair <cneumair gnome org>
- To: David Zeuthen <david fubar dk>
- Cc: nautilus-list gnome org
- Subject: Re: [PATCH] Fix autorun + mounts outside /media
- Date: Sun, 20 Apr 2008 00:39:11 +0200
[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]