mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-04-15 12:08:04 +02:00
configure.ac: tweak inotify check
Our check for inotify_init1() being defined is broken. We happily declare that inotify is supported, even if the check fails. This was originally intended to check for inotify_init1 in the libc so that we could fall back to inotify_init if it was not yet defined. FreeBSD has a libinotify that emulates the inotify API via kqueue. It installs a <sys/inotify.h> header and requires linking to -linotify. We don't want to falsely detect working inotify in this case. Treat the lack of inotify_init1() in the libc as a lack of inotify support. This requires only a new libc -- we still support old kernels: in the case that inotify1_init() fails, we fall back to inotify_init(). https://bugzilla.gnome.org/show_bug.cgi?id=724330
This commit is contained in:
parent
db83b8ac4c
commit
450e7b1036
@ -1665,8 +1665,7 @@ dnl *****************************
|
|||||||
inotify_support=no
|
inotify_support=no
|
||||||
AC_CHECK_HEADERS([sys/inotify.h],
|
AC_CHECK_HEADERS([sys/inotify.h],
|
||||||
[
|
[
|
||||||
inotify_support=yes
|
AC_CHECK_FUNCS(inotify_init1, [inotify_support=yes], [inotify_support=no])
|
||||||
AC_CHECK_FUNCS(inotify_init1)
|
|
||||||
])
|
])
|
||||||
|
|
||||||
AM_CONDITIONAL(HAVE_INOTIFY, [test "$inotify_support" = "yes"])
|
AM_CONDITIONAL(HAVE_INOTIFY, [test "$inotify_support" = "yes"])
|
||||||
|
@ -1055,7 +1055,7 @@ _g_io_modules_ensure_loaded (void)
|
|||||||
/* Initialize types from built-in "modules" */
|
/* Initialize types from built-in "modules" */
|
||||||
g_type_ensure (g_null_settings_backend_get_type ());
|
g_type_ensure (g_null_settings_backend_get_type ());
|
||||||
g_type_ensure (g_memory_settings_backend_get_type ());
|
g_type_ensure (g_memory_settings_backend_get_type ());
|
||||||
#if defined(HAVE_SYS_INOTIFY_H) || defined(HAVE_LINUX_INOTIFY_H)
|
#if defined(HAVE_INOTIFY_INIT1)
|
||||||
g_type_ensure (_g_inotify_directory_monitor_get_type ());
|
g_type_ensure (_g_inotify_directory_monitor_get_type ());
|
||||||
g_type_ensure (_g_inotify_file_monitor_get_type ());
|
g_type_ensure (_g_inotify_file_monitor_get_type ());
|
||||||
#endif
|
#endif
|
||||||
|
@ -196,11 +196,8 @@ gboolean _ik_startup (void (*cb)(ik_event_t *event))
|
|||||||
|
|
||||||
initialized = TRUE;
|
initialized = TRUE;
|
||||||
|
|
||||||
#ifdef HAVE_INOTIFY_INIT1
|
|
||||||
inotify_instance_fd = inotify_init1 (IN_CLOEXEC);
|
inotify_instance_fd = inotify_init1 (IN_CLOEXEC);
|
||||||
#else
|
|
||||||
inotify_instance_fd = -1;
|
|
||||||
#endif
|
|
||||||
if (inotify_instance_fd < 0)
|
if (inotify_instance_fd < 0)
|
||||||
inotify_instance_fd = inotify_init ();
|
inotify_instance_fd = inotify_init ();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user