projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: exit threads not only on goto restart
[lttng-tools.git]
/
src
/
common
/
consumer.c
diff --git
a/src/common/consumer.c
b/src/common/consumer.c
index 129203fa5a9bb8ca655ae22c428d9531a1368adb..5041ed951b9ffa7d56d639f1e20a0afd3776e34f 100644
(file)
--- a/
src/common/consumer.c
+++ b/
src/common/consumer.c
@@
-2180,14
+2180,6
@@
void *consumer_thread_metadata_poll(void *data)
DBG("Metadata main loop started");
while (1) {
DBG("Metadata main loop started");
while (1) {
- health_code_update();
-
- /* Only the metadata pipe is set */
- if (LTTNG_POLL_GETNB(&events) == 0 && consumer_quit == 1) {
- err = 0; /* All is OK */
- goto end;
- }
-
restart:
health_code_update();
health_poll_entry();
restart:
health_code_update();
health_poll_entry();
@@
-2202,7
+2194,10
@@
restart:
ERR("Poll EINTR catched");
goto restart;
}
ERR("Poll EINTR catched");
goto restart;
}
- goto error;
+ if (LTTNG_POLL_GETNB(&events) == 0) {
+ err = 0; /* All is OK */
+ }
+ goto end;
}
nb_fd = ret;
}
nb_fd = ret;
@@
-2758,14
+2753,6
@@
void *consumer_thread_channel_poll(void *data)
DBG("Channel main loop started");
while (1) {
DBG("Channel main loop started");
while (1) {
- health_code_update();
-
- /* Only the channel pipe is set */
- if (LTTNG_POLL_GETNB(&events) == 0 && consumer_quit == 1) {
- err = 0; /* All is OK */
- goto end;
- }
-
restart:
health_code_update();
DBG("Channel poll wait");
restart:
health_code_update();
DBG("Channel poll wait");
@@
-2780,6
+2767,9
@@
restart:
ERR("Poll EINTR catched");
goto restart;
}
ERR("Poll EINTR catched");
goto restart;
}
+ if (LTTNG_POLL_GETNB(&events) == 0) {
+ err = 0; /* All is OK */
+ }
goto end;
}
goto end;
}
This page took
0.024428 seconds
and
4
git commands to generate.