diff options
author | Marco d'Itri <md@Linux.IT> | 2006-04-06 19:52:41 +0200 |
---|---|---|
committer | Kay Sievers <kay.sievers@suse.de> | 2006-04-06 19:52:41 +0200 |
commit | 750d10daacfc0285f83204161811f5e2ea531712 (patch) | |
tree | f01cbf8d25a00320fc395c0f6848b8c41d0e47e0 | |
parent | fc8ec932580698a2a4274204029aebb937000c70 (diff) |
add inotify support for hppa and MIPS and log if inotify is not available
-rw-r--r-- | udev_libc_wrapper.h | 22 | ||||
-rw-r--r-- | udevd.c | 6 |
2 files changed, 27 insertions, 1 deletions
diff --git a/udev_libc_wrapper.h b/udev_libc_wrapper.h index fc66670a3c..ed8070947f 100644 --- a/udev_libc_wrapper.h +++ b/udev_libc_wrapper.h @@ -65,6 +65,28 @@ # define __NR_inotify_init 290 # define __NR_inotify_add_watch 291 # define __NR_inotify_rm_watch 292 +#elif defined (__hppa__) +# define __NR_inotify_init 269 +# define __NR_inotify_add_watch 270 +# define __NR_inotify_rm_watch 271 +#elif defined (__mips__) +# include <sgidefs.h> +# if _MIPS_SIM == _MIPS_SIM_ABI32 +# define __NR_Linux 4000 +# define __NR_inotify_init (__NR_Linux + 284) +# define __NR_inotify_add_watch (__NR_Linux + 285) +# define __NR_inotify_rm_watch (__NR_Linux + 286) +# elif _MIPS_SIM == _MIPS_SIM_ABI64 +# define __NR_Linux 5000 +# define __NR_inotify_init (__NR_Linux + 243) +# define __NR_inotify_add_watch (__NR_Linux + 244) +# define __NR_inotify_rm_watch (__NR_Linux + 245) +# elif _MIPS_SIM == _MIPS_SIM_NABI32 +# define __NR_Linux 6000 +# define __NR_inotify_init (__NR_Linux + 247) +# define __NR_inotify_add_watch (__NR_Linux + 248) +# define __NR_inotify_rm_watch (__NR_Linux + 249) +# endif #else #warning "inotify unsupported on this architecture!" #endif @@ -971,8 +971,12 @@ int main(int argc, char *argv[], char *envp[]) /* watch rules directory */ inotify_fd = inotify_init(); - if (inotify_fd > 0) + if (inotify_fd >= 0) inotify_add_watch(inotify_fd, udev_rules_filename, IN_CREATE | IN_DELETE | IN_MOVE | IN_CLOSE_WRITE); + else if (errno == ENOSYS) + err("the kernel does not support inotify, udevd can't monitor configuration file changes"); + else + err("inotify_init failed: %s", strerror(errno)); /* maximum limit of forked childs */ value = getenv("UDEVD_MAX_CHILDS"); |