From f4e753718489284cebdb1b61026002256a92520e Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Thu, 5 Apr 2012 15:13:14 +0200 Subject: [PATCH] unix: move inotify init logic to loop.c --- src/unix/internal.h | 10 ---------- src/unix/linux/inotify.c | 14 -------------- src/unix/loop.c | 12 ++++++++++-- 3 files changed, 10 insertions(+), 26 deletions(-) diff --git a/src/unix/internal.h b/src/unix/internal.h index cfbe1add..9caa4ddd 100644 --- a/src/unix/internal.h +++ b/src/unix/internal.h @@ -157,14 +157,4 @@ void uv__udp_close(uv_udp_t* handle); int uv__make_socketpair(int fds[2], int flags); int uv__make_pipe(int fds[2], int flags); -#if __linux__ -void uv__inotify_loop_init(uv_loop_t* loop); -void uv__inotify_loop_delete(uv_loop_t* loop); -# define uv__loop_platform_init(loop) uv__inotify_loop_init(loop) -# define uv__loop_platform_delete(loop) uv__inotify_loop_delete(loop) -#else -# define uv__loop_platform_init(loop) -# define uv__loop_platform_delete(loop) -#endif - #endif /* UV_UNIX_INTERNAL_H_ */ diff --git a/src/unix/linux/inotify.c b/src/unix/linux/inotify.c index c96fbd7b..04147833 100644 --- a/src/unix/linux/inotify.c +++ b/src/unix/linux/inotify.c @@ -51,20 +51,6 @@ static int compare_watchers(const uv_fs_event_t* a, const uv_fs_event_t* b) { RB_GENERATE_STATIC(uv__inotify_watchers, uv_fs_event_s, node, compare_watchers) -void uv__inotify_loop_init(uv_loop_t* loop) { - RB_INIT(&loop->inotify_watchers); - loop->inotify_fd = -1; -} - - -void uv__inotify_loop_delete(uv_loop_t* loop) { - if (loop->inotify_fd == -1) return; - ev_io_stop(loop->ev, &loop->inotify_read_watcher); - close(loop->inotify_fd); - loop->inotify_fd = -1; -} - - static void uv__inotify_read(EV_P_ ev_io* w, int revents); diff --git a/src/unix/loop.c b/src/unix/loop.c index 29927603..1edd9863 100644 --- a/src/unix/loop.c +++ b/src/unix/loop.c @@ -37,7 +37,10 @@ int uv__loop_init(uv_loop_t* loop, int default_loop) { loop->ev = (default_loop ? ev_default_loop : ev_loop_new)(flags); ev_set_userdata(loop->ev, loop); eio_channel_init(&loop->uv_eio_channel, loop); - uv__loop_platform_init(loop); +#if __linux__ + RB_INIT(&loop->inotify_watchers); + loop->inotify_fd = -1; +#endif return 0; } @@ -45,5 +48,10 @@ int uv__loop_init(uv_loop_t* loop, int default_loop) { void uv__loop_delete(uv_loop_t* loop) { uv_ares_destroy(loop, loop->channel); ev_loop_destroy(loop->ev); - uv__loop_platform_delete(loop); +#if __linux__ + if (loop->inotify_fd == -1) return; + ev_io_stop(loop->ev, &loop->inotify_read_watcher); + close(loop->inotify_fd); + loop->inotify_fd = -1; +#endif }