X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fcompat%2Fpoll.h;h=99b608cce77cdca5595abd0afe2948eb9eae399f;hp=ded35410d48dd3d7232608746e46f6d334dd7733;hb=38ee087f699718e57d1bc5614c2f79c3c30ccca9;hpb=1268b9d6a6df8cdc5ea9ba786e603c60e7451568 diff --git a/src/common/compat/poll.h b/src/common/compat/poll.h index ded35410d..99b608cce 100644 --- a/src/common/compat/poll.h +++ b/src/common/compat/poll.h @@ -1,18 +1,18 @@ /* * Copyright (C) 2011 - David Goulet * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation; only version 2 of the License. + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License, version 2 only, + * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., 59 Temple - * Place - Suite 330, Boston, MA 02111-1307, USA. + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef _LTT_POLL_H @@ -50,6 +50,7 @@ static inline void __lttng_poll_free(void *events) */ #ifdef HAVE_EPOLL #include +#include /* See man epoll(7) for this define path */ #define COMPAT_EPOLL_PROC_PATH "/proc/sys/fs/epoll/max_user_watches" @@ -146,8 +147,13 @@ static inline void lttng_poll_reset(struct lttng_poll_event *events) */ static inline void lttng_poll_clean(struct lttng_poll_event *events) { + int ret; + if (events) { - close(events->epfd); + ret = close(events->epfd); + if (ret) { + perror("close"); + } __lttng_poll_free((void *) events->events); } } @@ -182,9 +188,11 @@ enum { #if __linux__ LPOLLMSG = POLLMSG, LPOLLRDHUP = POLLRDHUP, -#elif __FreeBSD__ +#elif (defined(__FreeBSD__) || defined(__CYGWIN__)) LPOLLMSG = 0, LPOLLRDHUP = 0, +#else +#error "Please add support for your OS." #endif /* __linux__ */ LPOLLERR = POLLERR, LPOLLHUP = POLLHUP | POLLNVAL,