X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Ffd-tracker%2Futils-epoll.c;fp=src%2Fcommon%2Ffd-tracker%2Futils-epoll.c;h=0000000000000000000000000000000000000000;hb=0060607b4f1947339819316b63f00e42aab2a341;hp=f31dd2be1e5746ee2fcdfa193042ef42ed660145;hpb=4fb28dfc10106c4095ca3b1155d4da9a04467fd1;p=lttng-tools.git diff --git a/src/common/fd-tracker/utils-epoll.c b/src/common/fd-tracker/utils-epoll.c deleted file mode 100644 index f31dd2be1..000000000 --- a/src/common/fd-tracker/utils-epoll.c +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (C) 2018 Jérémie Galarneau - * - * SPDX-License-Identifier: GPL-2.0-only - * - */ - -#include - -#include "utils.h" - -struct create_args { - struct lttng_poll_event *events; - int size; - int flags; -}; - -static int open_epoll(void *data, int *out_fd) -{ - int ret; - struct create_args *args = data; - - ret = lttng_poll_create(args->events, args->size, args->flags); - if (ret < 0) { - goto end; - } - - *out_fd = args->events->epfd; -end: - return ret; -} - -static int close_epoll(void *data, int *in_fd) -{ - /* Will close the epfd. */ - lttng_poll_clean((struct lttng_poll_event *) data); - return 0; -} - -/* - * The epoll variant of the poll compat layer creates an unsuspendable fd which - * must be tracked. - */ -int fd_tracker_util_poll_create(struct fd_tracker *tracker, - const char *name, - struct lttng_poll_event *events, - int size, - int flags) -{ - int out_fd; - struct create_args create_args = { - .events = events, - .size = size, - .flags = flags, - }; - - return fd_tracker_open_unsuspendable_fd( - tracker, &out_fd, &name, 1, open_epoll, &create_args); -} - -int fd_tracker_util_poll_clean( - struct fd_tracker *tracker, struct lttng_poll_event *events) -{ - return fd_tracker_close_unsuspendable_fd( - tracker, &events->epfd, 1, close_epoll, events); -}