X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=src%2Fcommon%2Fcompat%2Fcompat-epoll.c;h=008dba7028dff9d0756914d50c4a1baf7effdbe7;hb=4c462e790c62ed5f6c5d61b3a182762fe02f7e9a;hp=77f5b922abcb7bc03c90ce8f574f5f4c94a9e6ed;hpb=799e2c4f4ecb595fcb52c3e6affd3b4ec7b5b24e;p=lttng-tools.git diff --git a/src/common/compat/compat-epoll.c b/src/common/compat/compat-epoll.c index 77f5b922a..008dba702 100644 --- a/src/common/compat/compat-epoll.c +++ b/src/common/compat/compat-epoll.c @@ -15,6 +15,7 @@ * Place - Suite 330, Boston, MA 02111-1307, USA. */ +#define _GNU_SOURCE #include #include #include @@ -49,7 +50,7 @@ int compat_epoll_create(struct lttng_poll_event *events, int size, int flags) ret = epoll_create1(flags); if (ret < 0) { /* At this point, every error is fatal */ - perror("epoll_create1"); + PERROR("epoll_create1"); goto error; } @@ -58,7 +59,7 @@ int compat_epoll_create(struct lttng_poll_event *events, int size, int flags) /* This *must* be freed by using lttng_poll_free() */ events->events = zmalloc(size * sizeof(struct epoll_event)); if (events->events == NULL) { - perror("zmalloc epoll set"); + PERROR("zmalloc epoll set"); goto error_close; } @@ -68,7 +69,10 @@ int compat_epoll_create(struct lttng_poll_event *events, int size, int flags) return 0; error_close: - close(events->epfd); + ret = close(events->epfd); + if (ret) { + PERROR("close"); + } error: return -1; } @@ -97,11 +101,11 @@ int compat_epoll_add(struct lttng_poll_event *events, int fd, uint32_t req_event goto end; case ENOSPC: case EPERM: - /* Print perror and goto end not failing. Show must go on. */ - perror("epoll_ctl ADD"); + /* Print PERROR and goto end not failing. Show must go on. */ + PERROR("epoll_ctl ADD"); goto end; default: - perror("epoll_ctl ADD fatal"); + PERROR("epoll_ctl ADD fatal"); goto error; } } @@ -112,7 +116,7 @@ int compat_epoll_add(struct lttng_poll_event *events, int fd, uint32_t req_event new_size = 2 * events->events_size; ptr = realloc(events->events, new_size * sizeof(struct epoll_event)); if (ptr == NULL) { - perror("realloc epoll add"); + PERROR("realloc epoll add"); goto error; } events->events = ptr; @@ -142,14 +146,14 @@ int compat_epoll_del(struct lttng_poll_event *events, int fd) switch (errno) { case ENOENT: case EPERM: - /* Print perror and goto end not failing. Show must go on. */ - perror("epoll_ctl DEL"); + /* Print PERROR and goto end not failing. Show must go on. */ + PERROR("epoll_ctl DEL"); goto end; default: - perror("epoll_ctl DEL fatal"); + PERROR("epoll_ctl DEL fatal"); goto error; } - perror("epoll_ctl del"); + PERROR("epoll_ctl del"); goto error; } @@ -180,7 +184,7 @@ int compat_epoll_wait(struct lttng_poll_event *events, int timeout) } while (ret == -1 && errno == EINTR); if (ret < 0) { /* At this point, every error is fatal */ - perror("epoll_wait"); + PERROR("epoll_wait"); goto error; } @@ -207,7 +211,7 @@ void compat_epoll_set_max_size(void) ret = read(fd, buf, sizeof(buf)); if (ret < 0) { - perror("read set max size"); + PERROR("read set max size"); goto error; } @@ -220,5 +224,8 @@ void compat_epoll_set_max_size(void) DBG("epoll set max size is %d", poll_max_size); error: - close(fd); + ret = close(fd); + if (ret) { + PERROR("close"); + } }