X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fcompat%2Fpoll.cpp;h=0617905a6ee65e37656956b650a41838cb9e1393;hb=64803277bbdbe0a943360d918298a48157d9da55;hp=928867ffb3f5a9ac5dffbe00d5dd905d89d5e07e;hpb=740da7d5000ca1ffdcf14bda5096bf7ccfb86bdd;p=lttng-tools.git diff --git a/src/common/compat/poll.cpp b/src/common/compat/poll.cpp index 928867ffb..0617905a6 100644 --- a/src/common/compat/poll.cpp +++ b/src/common/compat/poll.cpp @@ -1,8 +1,8 @@ /* - * Copyright (C) 2011 David Goulet + * Copyright (C) 2011 EfficiOS Inc. * Copyright (C) 2019 Yannick Lamarre * - * SPDX-License-Identifier: GPL-2.0-only + * SPDX-License-Identifier: LGPL-2.1-only * */ @@ -10,14 +10,14 @@ #include #include -#include -#include -#include -#include +#include +#include +#include +#include -#include "poll.h" +#include "poll.hpp" -#if HAVE_EPOLL +#ifdef HAVE_EPOLL #include #include @@ -71,11 +71,11 @@ error: /* * Create epoll set and allocate returned events structure. */ -int compat_epoll_create(struct lttng_poll_event *events, int size, int flags) +int compat_epoll_create(struct lttng_poll_event *events, int count, int flags) { int ret; - if (events == NULL || size <= 0) { + if (events == NULL || count <= 0) { goto error; } @@ -86,11 +86,11 @@ int compat_epoll_create(struct lttng_poll_event *events, int size, int flags) } /* Don't bust the limit here */ - if (size > poll_max_size) { - size = poll_max_size; + if (count > poll_max_size) { + count = poll_max_size; } - ret = compat_glibc_epoll_create(size, flags); + ret = compat_glibc_epoll_create(count, flags); if (ret < 0) { /* At this point, every error is fatal */ PERROR("epoll_create1"); @@ -100,13 +100,13 @@ int compat_epoll_create(struct lttng_poll_event *events, int size, int flags) events->epfd = ret; /* This *must* be freed by using lttng_poll_free() */ - events->events = (epoll_event *) zmalloc(size * sizeof(struct epoll_event)); + events->events = calloc(count); if (events->events == NULL) { PERROR("zmalloc epoll set"); goto error_close; } - events->alloc_size = events->init_size = size; + events->alloc_size = events->init_size = count; events->nb_fd = 0; return 0; @@ -374,7 +374,7 @@ static int resize_poll_event(struct compat_poll_event_array *array, goto error; } - ptr = realloc(array->events, new_size * sizeof(*ptr)); + ptr = (struct pollfd *) realloc(array->events, new_size * sizeof(*ptr)); if (ptr == NULL) { PERROR("realloc epoll add"); goto error; @@ -455,7 +455,7 @@ int compat_poll_create(struct lttng_poll_event *events, int size) wait = &events->wait; /* This *must* be freed by using lttng_poll_free() */ - wait->events = zmalloc(size * sizeof(struct pollfd)); + wait->events = (struct pollfd *) zmalloc(size * sizeof(struct pollfd)); if (wait->events == NULL) { PERROR("zmalloc struct pollfd"); goto error; @@ -463,7 +463,7 @@ int compat_poll_create(struct lttng_poll_event *events, int size) wait->alloc_size = wait->init_size = size; - current->events = zmalloc(size * sizeof(struct pollfd)); + current->events = (struct pollfd *) zmalloc(size * sizeof(struct pollfd)); if (current->events == NULL) { PERROR("zmalloc struct current pollfd"); goto error;