projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: consumer_timer_signal_thread_qs waits on LTTNG_CONSUMER_SIG_SWITCH
[lttng-tools.git]
/
src
/
common
/
consumer
/
consumer-timer.c
diff --git
a/src/common/consumer/consumer-timer.c
b/src/common/consumer/consumer-timer.c
index 09cf3629331d344e54c63a6d3b2a467c527cb648..0adc5724efd6833ff22132989d45ccbde33193f7 100644
(file)
--- a/
src/common/consumer/consumer-timer.c
+++ b/
src/common/consumer/consumer-timer.c
@@
-21,7
+21,7
@@
#include <inttypes.h>
#include <signal.h>
#include <inttypes.h>
#include <signal.h>
-#include <
lttng
/ust-ctl.h>
+#include <
bin/lttng-sessiond
/ust-ctl.h>
#include <bin/lttng-consumerd/health-consumerd.h>
#include <common/common.h>
#include <common/compat/endian.h>
#include <bin/lttng-consumerd/health-consumerd.h>
#include <common/common.h>
#include <common/compat/endian.h>
@@
-394,7
+394,7
@@
void consumer_timer_signal_thread_qs(unsigned int signr)
if (ret == -1) {
PERROR("sigpending");
}
if (ret == -1) {
PERROR("sigpending");
}
- if (!sigismember(&pending_set,
LTTNG_CONSUMER_SIG_SWITCH
)) {
+ if (!sigismember(&pending_set,
signr
)) {
break;
}
caa_cpu_relax();
break;
}
caa_cpu_relax();
@@
-709,10
+709,9
@@
void monitor_timer(struct lttng_consumer_local_data *ctx,
get_produced_cb get_produced;
assert(channel);
get_produced_cb get_produced;
assert(channel);
- pthread_mutex_lock(&consumer_data.lock);
if (channel_monitor_pipe < 0) {
if (channel_monitor_pipe < 0) {
-
goto end
;
+
return
;
}
switch (consumer_data.type) {
}
switch (consumer_data.type) {
@@
-734,7
+733,7
@@
void monitor_timer(struct lttng_consumer_local_data *ctx,
ret = sample_channel_positions(channel, &msg.highest, &msg.lowest,
sample, get_consumed, get_produced);
if (ret) {
ret = sample_channel_positions(channel, &msg.highest, &msg.lowest,
sample, get_consumed, get_produced);
if (ret) {
-
goto end
;
+
return
;
}
/*
}
/*
@@
-759,8
+758,6
@@
void monitor_timer(struct lttng_consumer_local_data *ctx,
", (highest = %" PRIu64 ", lowest = %"PRIu64")",
channel->key, msg.highest, msg.lowest);
}
", (highest = %" PRIu64 ", lowest = %"PRIu64")",
channel->key, msg.highest, msg.lowest);
}
-end:
- pthread_mutex_unlock(&consumer_data.lock);
}
int consumer_timer_thread_get_channel_monitor_pipe(void)
}
int consumer_timer_thread_get_channel_monitor_pipe(void)
This page took
0.024261 seconds
and
4
git commands to generate.