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

Reply via email to