epoll/poll compat: expose interruptible API
[lttng-tools.git] / src / common / compat / poll.h
index 5eb7ff9c587eb84e883dd0ead186212270572d00..0b3cb324341a225ab6ab33c588a170e6d9cc23c4 100644 (file)
@@ -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);
This page took 0.02363 seconds and 4 git commands to generate.