projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: release reference to trace chunk on index file creation failure
[lttng-tools.git]
/
src
/
common
/
compat
/
compat-poll.c
diff --git
a/src/common/compat/compat-poll.c
b/src/common/compat/compat-poll.c
index 254ce271e71c2f1b9249942e229b5a4b5b7fc82f..4ea23c17318e1439f36a94b134194d13b070e4de 100644
(file)
--- a/
src/common/compat/compat-poll.c
+++ b/
src/common/compat/compat-poll.c
@@
-291,7
+291,8
@@
error:
/*
* Wait on poll() with timeout. Blocking call.
*/
/*
* Wait on poll() with timeout. Blocking call.
*/
-int compat_poll_wait(struct lttng_poll_event *events, int timeout)
+int compat_poll_wait(struct lttng_poll_event *events, int timeout,
+ bool interruptible)
{
int ret, active_fd_count;
int idle_pfd_index = 0;
{
int ret, active_fd_count;
int idle_pfd_index = 0;
@@
-320,10
+321,11
@@
int compat_poll_wait(struct lttng_poll_event *events, int timeout)
do {
ret = poll(events->wait.events, events->wait.nb_fd, timeout);
do {
ret = poll(events->wait.events, events->wait.nb_fd, timeout);
- } while (ret == -1 && errno == EINTR);
+ } while (
!interruptible &&
ret == -1 && errno == EINTR);
if (ret < 0) {
if (ret < 0) {
- /* At this point, every error is fatal */
- PERROR("poll wait");
+ if (errno != EINTR) {
+ PERROR("poll wait");
+ }
goto error;
}
goto error;
}
This page took
0.046949 seconds
and
4
git commands to generate.