X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fcompat%2Fpoll.h;h=0b3cb324341a225ab6ab33c588a170e6d9cc23c4;hb=9f32e9bf43a6438c55f35d3c5ed1c378d0c715c4;hp=5eb7ff9c587eb84e883dd0ead186212270572d00;hpb=7e222fa8b9a75aedecb927bb478d7655ec668752;p=lttng-tools.git diff --git a/src/common/compat/poll.h b/src/common/compat/poll.h index 5eb7ff9c5..0b3cb3243 100644 --- a/src/common/compat/poll.h +++ b/src/common/compat/poll.h @@ -119,9 +119,7 @@ static inline int __lttng_epoll_get_prev_fd(struct lttng_poll_event *events, #define LTTNG_POLL_GET_PREV_FD(e, i, nb_fd) \ __lttng_epoll_get_prev_fd(LTTNG_REF(e), i, nb_fd) -/* - * Create the epoll set. No memory allocation is done here. - */ +/* Create the epoll set. */ extern int compat_epoll_create(struct lttng_poll_event *events, int size, int flags); #define lttng_poll_create(events, size, flags) \ @@ -152,9 +150,12 @@ static inline int compat_glibc_epoll_create(int size, int flags) * Wait on epoll set with the number of fd registered to the lttng_poll_event * data structure (events). */ -extern int compat_epoll_wait(struct lttng_poll_event *events, int timeout); +extern int compat_epoll_wait(struct lttng_poll_event *events, int timeout, + bool interruptible); #define lttng_poll_wait(events, timeout) \ - compat_epoll_wait(events, timeout) + compat_epoll_wait(events, timeout, false) +#define lttng_poll_wait_interruptible(events, timeout) \ + compat_epoll_wait(events, timeout, true) /* * Add a fd to the epoll set and resize the epoll_event structure if needed. @@ -336,9 +337,12 @@ extern int compat_poll_create(struct lttng_poll_event *events, int size); * Wait on poll(2) event with nb_fd registered to the lttng_poll_event data * structure. */ -extern int compat_poll_wait(struct lttng_poll_event *events, int timeout); +extern int compat_poll_wait(struct lttng_poll_event *events, int timeout, + bool interruptible); #define lttng_poll_wait(events, timeout) \ - compat_poll_wait(events, timeout) + compat_poll_wait(events, timeout, false) +#define lttng_poll_wait_interruptible(events, timeout) \ + compat_poll_wait(events, timeout, true) /* * Add the fd to the pollfd structure. Resize if needed. @@ -358,7 +362,7 @@ extern int compat_poll_del(struct lttng_poll_event *events, int fd); compat_poll_del(events, fd) /* - * Modify an fd's events in the epoll set. + * Modify an fd's events in the poll set. */ extern int compat_poll_mod(struct lttng_poll_event *events, int fd, uint32_t req_events);