projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: relayd reply error to client if cannot find viewer stream
[lttng-tools.git]
/
src
/
bin
/
lttng-relayd
/
live.c
diff --git
a/src/bin/lttng-relayd/live.c
b/src/bin/lttng-relayd/live.c
index 5d3449d4f451f49aaf64a6f3506a4b93c1affc3c..c5a6e4edd8450e2048e955b4abd6ca8219f59fe1 100644
(file)
--- a/
src/bin/lttng-relayd/live.c
+++ b/
src/bin/lttng-relayd/live.c
@@
-1273,8
+1273,8
@@
int viewer_get_next_index(struct relay_connection *conn)
vstream = viewer_stream_get_by_id(be64toh(request_index.stream_id));
if (!vstream) {
vstream = viewer_stream_get_by_id(be64toh(request_index.stream_id));
if (!vstream) {
-
ret = -1
;
- goto
end
;
+
viewer_index.status = htobe32(LTTNG_VIEWER_INDEX_ERR)
;
+ goto
send_reply
;
}
/* Use back. ref. Protected by refcounts. */
}
/* Use back. ref. Protected by refcounts. */
@@
-1397,7
+1397,9
@@
int viewer_get_next_index(struct relay_connection *conn)
viewer_index.stream_id = packet_index.stream_id;
send_reply:
viewer_index.stream_id = packet_index.stream_id;
send_reply:
- pthread_mutex_unlock(&rstream->lock);
+ if (rstream) {
+ pthread_mutex_unlock(&rstream->lock);
+ }
if (metadata_viewer_stream) {
pthread_mutex_lock(&metadata_viewer_stream->stream->lock);
if (metadata_viewer_stream) {
pthread_mutex_lock(&metadata_viewer_stream->stream->lock);
This page took
0.02416 seconds
and
4
git commands to generate.