]> git.llucax.com Git - software/libev.git/commitdiff
libevent integration
authorroot <root>
Wed, 28 Nov 2007 11:41:18 +0000 (11:41 +0000)
committerroot <root>
Wed, 28 Nov 2007 11:41:18 +0000 (11:41 +0000)
ev.c
ev_vars.h
ev_wrap.h
import_libevent

diff --git a/ev.c b/ev.c
index 0d5e4b9d6bed5899d3ba68f558dd763ab5076cc0..ab892213fe95e2745ec5035a5a073c4894ca54f9 100644 (file)
--- a/ev.c
+++ b/ev.c
@@ -1718,7 +1718,7 @@ ev_child_stop (EV_P_ ev_child *w)
 void noinline stat_timer_cb (EV_P_ ev_timer *w_, int revents);
 
 #if EV_USE_INOTIFY
-# define EV_INOTIFY_BUFSIZE ((PATH_MAX + sizeof (struct inotify_event)) + 2048)
+# define EV_INOTIFY_BUFSIZE 8192
 
 static void noinline
 infy_add (EV_P_ ev_stat *w)
@@ -1730,9 +1730,9 @@ infy_add (EV_P_ ev_stat *w)
       ev_timer_start (EV_A_ &w->timer); /* this is not race-free, so we still need to recheck periodically */
 
       /* monitor some parent directory for speedup hints */
-      if (errno == ENOENT || errno == EACCES)
+      if ((errno == ENOENT || errno == EACCES) && strlen (w->path) < 4096)
         {
-          char path [PATH_MAX];
+          char path [4096];
           strcpy (path, w->path);
 
           do
@@ -1746,7 +1746,7 @@ infy_add (EV_P_ ev_stat *w)
                 break; /* whoops, no '/', complain to your admin */
 
               *pend = 0;
-              w->wd = inotify_add_watch (fs_fd, path, IN_DELETE_SELF | IN_CREATE | IN_MOVED_TO | IN_MASK_ADD);
+              w->wd = inotify_add_watch (fs_fd, path, mask);
             } 
           while (w->wd < 0 && (errno == ENOENT || errno == EACCES));
         }
@@ -1761,7 +1761,6 @@ infy_add (EV_P_ ev_stat *w)
 static void noinline
 infy_del (EV_P_ ev_stat *w)
 {
-  WL w_;
   int slot;
   int wd = w->wd;
 
@@ -1800,7 +1799,7 @@ infy_wd (EV_P_ int slot, int wd, struct inotify_event *ev)
                   infy_add (EV_A_ w); /* re-add, no matter what */
                 }
 
-              stat_timer_cb (EV_P_ &w->timer, 0);
+              stat_timer_cb (EV_A_ &w->timer, 0);
             }
         }
     }
index 3750492891f4415bdcee343a9054f5f51b6ad650..c93d23a0884d249bc51b120b6f717a242fbabab8 100644 (file)
--- a/ev_vars.h
+++ b/ev_vars.h
@@ -88,7 +88,7 @@ VARx(int, forkcnt)
 
 #if EV_USE_INOTIFY || EV_GENWRAP
 VARx(int, fs_fd)
-VARx(ev_io, fs_w);
+VARx(ev_io, fs_w)
 VAR (fs_hash, ANFS fs_hash [EV_INOTIFY_HASHSIZE])
 #endif
 
index f3942f9ba1e5eb8c8a859ed13c417b399e45de99..67e7cfdaaad23fdde88cad7240c49a87634c964b 100644 (file)
--- a/ev_wrap.h
+++ b/ev_wrap.h
@@ -55,5 +55,5 @@
 #define forkmax ((loop)->forkmax)
 #define forkcnt ((loop)->forkcnt)
 #define fs_fd ((loop)->fs_fd)
-#define fs_w ((loop)->fs_w);
+#define fs_w ((loop)->fs_w)
 #define fs_hash ((loop)->fs_hash)
index 78de8d833e5678355574890cbe7f2f58c4de71e1..f8db3c17712219eb9e89d8b940587e27ae199fd0 100755 (executable)
@@ -82,7 +82,7 @@ perl -ne '
    s/\bevsignal.h\b//g;
    s/-Wall//;
    s/^(man_MANS\s*=)/$1 ev.3 /;
-   s/^(EXTRA_DIST\s*=)/$1 ev.h ev_vars.h ev_wrap.h event_compat.h ev_epoll.c ev_select.c ev_poll.c ev_kqueue.c ev_port.c ev_win32.c ev.3 ev.pod ev.html /;
+   s/^(EXTRA_DIST\s*=)/$1 libev.m4 ev.h ev_vars.h ev_wrap.h event_compat.h ev_epoll.c ev_select.c ev_poll.c ev_kqueue.c ev_port.c ev_win32.c ev.3 ev.pod ev.html /;
    s/^(include_HEADERS\s*=)/$1 ev.h event_compat.h /;
    s/^(CORE_SRC\s*=)/$1 ev.c /;
    s/^(SYS_LIBS\s*=)/$1 -lm /;
@@ -100,12 +100,14 @@ perl -ne '
    s/AC_LIBOBJ\(evport\)/: ;/g;
    s/AC_LIBOBJ\(signal\)/: ;/g;
    s/AC_LIBOBJ\(rtsig\)/: ;/g;
+   print "m4_include([libev.m4])\n" if /^AC_OUTPUT/;
    print;
 ' <$LE/configure.in >configure.in
 
 aclocal-1.7
 automake-1.7 --add-missing
 autoconf
+autoheader
 libtoolize
 CC="ccache gcc" ./configure --prefix=/opt/libev --disable-shared "$@"