[glib: 2/4] kqueue: Only fallback to polling on /media and /run/media
- From: Philip Withnall <pwithnall src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib: 2/4] kqueue: Only fallback to polling on /media and /run/media
- Date: Fri, 8 Jun 2018 21:37:29 +0000 (UTC)
commit 41259ac173143fbb06bc07dab80fbe06493716df
Author: Ting-Wei Lan <lantw src gnome org>
Date: Sun Jun 3 12:15:36 2018 +0800
kqueue: Only fallback to polling on /media and /run/media
The check in _ke_is_excluded, which causes GKqueueFileMonitor to
fallback to GPollFileMonitor when it returns TRUE, was made to prevent
file monitor from blocking unmount of removable drives on systems not
supporting O_EVTONLY flag in open. However, since g_mount_can_unmount
always returns TRUE on Unix-like platforms, the check always returns
TRUE on non-standard mount points, which is very likely to cause all
programs on the desktop to use the polling fallback if GNOME is
installed in a different prefix for development. This makes the desktop
sluggish and results in bad developer experience on *BSD.
gio/kqueue/gkqueuefilemonitor.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/gio/kqueue/gkqueuefilemonitor.c b/gio/kqueue/gkqueuefilemonitor.c
index d6fea41cf..9cf3901f5 100644
--- a/gio/kqueue/gkqueuefilemonitor.c
+++ b/gio/kqueue/gkqueuefilemonitor.c
@@ -121,7 +121,7 @@ _ke_is_excluded (const char *full_path)
g_object_unref (f);
}
- if ((mount != NULL && (g_mount_can_unmount (mount))) || g_str_has_prefix (full_path, "/mnt/"))
+ if (mount != NULL && (g_str_has_prefix (full_path, "/media/") || g_str_has_prefix (full_path,
"/run/media/")))
{
g_warning ("Excluding %s from kernel notification, falling back to poll", full_path);
if (mount)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]