diff --git a/src/liblwevent/200_eventloop.c b/src/liblwevent/200_eventloop.c index 0aec47a..a210568 100644 --- a/src/liblwevent/200_eventloop.c +++ b/src/liblwevent/200_eventloop.c @@ -10,7 +10,7 @@ /* lwevent_epoll_fd * File descriptor returned by epoll_create(). Initialised in lwevent_init(). */ -int lwevent_epoll_fd; +static int lwevent_epoll_fd; @@ -60,6 +60,12 @@ int lwevent_init(void) return -1; } + if(lwevent_cloexec(lwevent_epoll_fd)) { + free(_lw_revents); + close(lwevent_epoll_fd); + return -1; + } + return 0; } diff --git a/src/liblwevent/200_eventloop.h b/src/liblwevent/200_eventloop.h index 4b7f183..9289cc9 100644 --- a/src/liblwevent/200_eventloop.h +++ b/src/liblwevent/200_eventloop.h @@ -18,17 +18,6 @@ program should exit), and lwevent_wait(), which implements a single run of the e -/*! \brief Event loop file descriptor. - -The file descriptor returned from \c epoll_create(2). Use of this file descriptor is not -recommended, although it is made available in case an application ever needs to access it (perhaps -to close after a \c fork(2), etc.). - -*/ -extern int lwevent_epoll_fd; - - - /*! \brief Initialise library. \retval 0 on success.