Den 6. des. 2012 kl. 01:57 skrev "Enlightenment SVN" <[email protected]>:
> Log: > efl: simplify inotify by moving it to common. > > also deprecate very ancient inotify usage by direct syscall. > > Can you also do ecore_file? S. > > Author: barbieri > Date: 2012-12-05 16:57:29 -0800 (Wed, 05 Dec 2012) > New Revision: 80292 > Trac: http://trac.enlightenment.org/e/changeset/80292 > > Modified: > trunk/efl/configure.ac trunk/efl/m4/eio_check_options.m4 > trunk/efl/src/Makefile_Eio.am trunk/efl/src/lib/eio/eio_monitor_inotify.c > > Modified: trunk/efl/configure.ac > =================================================================== > --- trunk/efl/configure.ac 2012-12-06 00:35:14 UTC (rev 80291) > +++ trunk/efl/configure.ac 2012-12-06 00:57:29 UTC (rev 80292) > @@ -104,6 +104,8 @@ > > #### Default values > > +want_inotify="no" > + > requirements_pc_crypto="" > requirements_pc_deps_crypto="" > requirements_libs_crypto="" > @@ -277,6 +279,11 @@ > MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic" > MODULE_EXT=".dll" > ;; > + linux*) > + want_inotify="yes" > + MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic" > + MODULE_EXT=".so" > + ;; > *) > MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic" > MODULE_EXT=".so" > @@ -474,6 +481,17 @@ > unistd.h \ > ]) > > +have_inotify="no" > +if test "x${want_inotify}" = "xyes" ; then > + AC_CHECK_HEADER([sys/inotify.h], > + [ > + AC_DEFINE([HAVE_INOTIFY], [1], [File monitoring with Inotify]) > + have_inotify="yes" > + ], > + [have_inotify="no"]) > +fi > +AM_CONDITIONAL([HAVE_INOTIFY], [test "x${have_inotify}" = "xyes"]) > + > EFL_CHECK_PATH_MAX > > > @@ -1825,19 +1843,13 @@ > > # cserve2 only works on Linux so far. > > -if test "x${efl_func_shm_open}" = "xno" ; then > +if test "x${efl_func_shm_open}" = "xno" -o "x${have_inotify}" = "xno"; then > want_evas_cserve2="no" > fi > > -if test "x${want_evas_cserve2}" = "xyes" ; then > - AC_CHECK_HEADERS([sys/epoll.h sys/inotify.h sys/signalfd.h], > - [], > - [want_evas_cserve2="no"]) > -fi > - > -if test "x${want_evas_cserve2}" = "xyes" ; then > - AC_DEFINE([EVAS_CSERVE2], [1], [Shared cache server.]) > -fi > +AC_DEFINE_IF([EVAS_CSERVE2], > + [test "x${want_evas_cserve2}" = "xyes"], > + [1], [Shared cache server.]) > AM_CONDITIONAL([EVAS_CSERVE2], [test "x${want_evas_cserve2}" = "xyes"]) > > ### Configuration > @@ -2368,18 +2380,6 @@ > ], > [want_poll="yes"]) > > -AC_ARG_ENABLE([inotify], > - [AC_HELP_STRING([--disable-inotify], > - [disable inotify in the ecore_file module. @<:@default=enabled@:>@])], > - [ > - if test "x${enableval}" = "xyes" ; then > - want_inotify="yes" > - else > - want_inotify="no" > - fi > - ], > - [want_inotify="yes"]) > - > AC_ARG_ENABLE([atfile-source], > [AC_HELP_STRING([--disable-atfile-source], > [disable use of atfile source functions as openat and mkdirat > @<:@default=detect@:>@])], > @@ -2440,19 +2440,6 @@ > > ### Checks for header files > > -have_inotify="no" > -if test "x${want_inotify}" = "xyes" ; then > - AC_CHECK_HEADER([sys/inotify.h], > - [ > - AC_DEFINE([HAVE_INOTIFY], [1], [File monitoring with Inotify]) > - have_inotify="yes" > - ], > - [have_inotify="no"]) > -fi > - > -AC_MSG_CHECKING([whether inotify is to be used for filemonitoring]) > -AC_MSG_RESULT(${have_inotify}) > - > ### Checks for types > > ### Checks for structures > @@ -3954,12 +3941,9 @@ > AC_MSG_RESULT([${have_xattr}]) > > # Check for inotify specificity > -have_inotify="no" > have_notify_win32="no" > -EIO_CHECK_INOTIFY([have_inotify="yes"], [have_inotify="no"]) > EIO_CHECK_NOTIFY_WIN32([have_notify_win32="yes"], [have_notify_win32="no"]) > > -AM_CONDITIONAL([EIO_HAVE_INOTIFY], [test "x${have_inotify}" = "xyes"]) > AM_CONDITIONAL([EIO_HAVE_WINCHANGE], [test "x${have_notify_win32}" = "xyes"]) > > #### End of Eio > > Modified: trunk/efl/m4/eio_check_options.m4 > =================================================================== > --- trunk/efl/m4/eio_check_options.m4 2012-12-06 00:35:14 UTC (rev 80291) > +++ trunk/efl/m4/eio_check_options.m4 2012-12-06 00:57:29 UTC (rev 80292) > @@ -1,47 +1,3 @@ > -dnl use: EIO_CHECK_INOTIFY([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) > -AC_DEFUN([EIO_CHECK_INOTIFY], > -[ > -_eio_have_inotify="no" > - > -dnl We need to check if the right inotify version is accessible > - > -dnl It is hard to find a good test on how to check the correct > -dnl inotify version. They changed the headers a lot. > -dnl in kernel 2.6.13 __NR_inotify_init was added to the defined syscalls > -dnl in asm/unistd.h and IN_MOVE_SELF was added to linux/inotify.h > -dnl so with this check you need a very new kernel and kernel-headers! > - > -if ! test "x${have_windows}" = "xyes" ; then > - > - AC_CHECK_LIB([c], [inotify_init], > - [ > - AC_DEFINE([HAVE_INOTIFY], [1], [ File monitoring with Inotify ]) > - AC_DEFINE([HAVE_SYS_INOTIFY], [1], [ File monitoring with Inotify - > sys/inotify.h ]) > - _eio_have_inotify="yes" > - ], > - [ > - AC_TRY_COMPILE( > - [ > -#include <asm/unistd.h> > -#include <linux/inotify.h> > - ], > - [ > -int a = __NR_inotify_init; int b = IN_MOVE_SELF; > - ], > - [ > - AC_DEFINE([HAVE_INOTIFY], [1], [ File monitoring with Inotify ]) > - _eio_have_inotify="yes" > - ], > - [_eio_have_inotify="no"]) > - ]) > -fi > - > -AC_MSG_CHECKING([whether inotify is to be used for filemonitoring]) > -AC_MSG_RESULT([${_eio_have_inotify}]) > - > -AS_IF([test "x${_eio_have_inotify}" = "xyes"], [$1], [$2]) > -]) > - > dnl use: EIO_CHECK_NOTIFY_WIN32([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) > AC_DEFUN([EIO_CHECK_NOTIFY_WIN32], > [ > > Modified: trunk/efl/src/Makefile_Eio.am > =================================================================== > --- trunk/efl/src/Makefile_Eio.am 2012-12-06 00:35:14 UTC (rev 80291) > +++ trunk/efl/src/Makefile_Eio.am 2012-12-06 00:57:29 UTC (rev 80292) > @@ -18,7 +18,7 @@ > lib/eio/eio_xattr.c \ > lib/eio/eio_private.h > > -if EIO_HAVE_INOTIFY > +if HAVE_INOTIFY > lib_eio_libeio_la_SOURCES += lib/eio/eio_monitor_inotify.c > else > if EIO_HAVE_WINCHANGE > > Modified: trunk/efl/src/lib/eio/eio_monitor_inotify.c > =================================================================== > --- trunk/efl/src/lib/eio/eio_monitor_inotify.c 2012-12-06 00:35:14 UTC > (rev 80291) > +++ trunk/efl/src/lib/eio/eio_monitor_inotify.c 2012-12-06 00:57:29 UTC > (rev 80292) > @@ -20,11 +20,8 @@ > #include "eio_private.h" > #include "Eio.h" > > -#ifdef HAVE_SYS_INOTIFY > +#ifdef HAVE_INOTIFY > # include <sys/inotify.h> > -#else > -# include <asm/unistd.h> > -# include <linux/inotify.h> > #endif > > /*============================================================================* > @@ -70,26 +67,6 @@ > EIO_INOTIFY_LINE(IN_UNMOUNT, SELF_DELETED, SELF_DELETED) > }; > > -#ifndef HAVE_SYS_INOTIFY > -static inline int > -inotify_init(void) > -{ > - return syscall(__NR_inotify_init); > -} > - > -static inline int > -inotify_add_watch(int fd, const char *name, __u32 mask) > -{ > - return syscall(__NR_inotify_add_watch, fd, name, mask); > -} > - > -static inline int > -inotify_rm_watch(int fd, __u32 wd) > -{ > - return syscall(__NR_inotify_rm_watch, fd, wd); > -} > -#endif > - > static void > _eio_inotify_del(void *data) > { > > > ------------------------------------------------------------------------------ > LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial > Remotely access PCs and mobile devices and provide instant support > Improve your efficiency, and focus on delivering more value-add services > Discover what IT Professionals Know. Rescue delivers > http://p.sf.net/sfu/logmein_12329d2d > _______________________________________________ > enlightenment-svn mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn ------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
