projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: create/destroy a splice_pipe per stream
[lttng-tools.git]
/
src
/
common
/
kernel-consumer
/
kernel-consumer.c
diff --git
a/src/common/kernel-consumer/kernel-consumer.c
b/src/common/kernel-consumer/kernel-consumer.c
index 904462da68625905fb5293ad28aa269b4c11ab3f..161293d4fd52790842507166ea1e7605d795b07c 100644
(file)
--- a/
src/common/kernel-consumer/kernel-consumer.c
+++ b/
src/common/kernel-consumer/kernel-consumer.c
@@
-17,6
+17,7
@@
*/
#define _GNU_SOURCE
*/
#define _GNU_SOURCE
+#define _LGPL_SOURCE
#include <assert.h>
#include <poll.h>
#include <pthread.h>
#include <assert.h>
#include <poll.h>
#include <pthread.h>
@@
-642,6
+643,10
@@
int lttng_kconsumer_recv_cmd(struct lttng_consumer_local_data *ctx,
switch (channel->output) {
case CONSUMER_CHANNEL_SPLICE:
new_stream->output = LTTNG_EVENT_SPLICE;
switch (channel->output) {
case CONSUMER_CHANNEL_SPLICE:
new_stream->output = LTTNG_EVENT_SPLICE;
+ ret = utils_create_pipe(new_stream->splice_pipe);
+ if (ret < 0) {
+ goto end_nosignal;
+ }
break;
case CONSUMER_CHANNEL_MMAP:
new_stream->output = LTTNG_EVENT_MMAP;
break;
case CONSUMER_CHANNEL_MMAP:
new_stream->output = LTTNG_EVENT_MMAP;
@@
-774,7
+779,7
@@
int lttng_kconsumer_recv_cmd(struct lttng_consumer_local_data *ctx,
* Send status code to session daemon.
*/
ret = consumer_send_status_msg(sock, ret_code);
* Send status code to session daemon.
*/
ret = consumer_send_status_msg(sock, ret_code);
- if (ret < 0) {
+ if (ret < 0
|| ret_code != LTTCOMM_CONSUMERD_SUCCESS
) {
/* Somehow, the session daemon is not responding anymore. */
goto end_nosignal;
}
/* Somehow, the session daemon is not responding anymore. */
goto end_nosignal;
}
This page took
0.032681 seconds
and
4
git commands to generate.