projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Updating lttng-ust-ctl header file
[lttng-tools.git]
/
src
/
bin
/
lttng-relayd
/
main.c
diff --git
a/src/bin/lttng-relayd/main.c
b/src/bin/lttng-relayd/main.c
index 919c5a96a7a2baa1680febd84ccb9e225fa3a386..61f206fdf3c863041523ad6d92808d65a3033f33 100644
(file)
--- a/
src/bin/lttng-relayd/main.c
+++ b/
src/bin/lttng-relayd/main.c
@@
-70,6
+70,15
@@
#include "stream.h"
#include "connection.h"
#include "tracefile-array.h"
#include "stream.h"
#include "connection.h"
#include "tracefile-array.h"
+#include "tcp_keep_alive.h"
+
+static const char *help_msg =
+#ifdef LTTNG_EMBED_HELP
+#include <lttng-relayd.8.h>
+#else
+NULL
+#endif
+;
/* command line options */
char *opt_output_path;
/* command line options */
char *opt_output_path;
@@
-250,9
+259,9
@@
static int set_option(int opt, const char *arg, const char *optname)
}
break;
case 'h':
}
break;
case 'h':
- ret = utils_show_
man_page(8, "lttng-relayd"
);
+ ret = utils_show_
help(8, "lttng-relayd", help_msg
);
if (ret) {
if (ret) {
- ERR("Cannot
view man page lttng-relayd(8)
");
+ ERR("Cannot
show --help for `lttng-relayd`
");
perror("exec");
}
exit(EXIT_FAILURE);
perror("exec");
}
exit(EXIT_FAILURE);
@@
-891,6
+900,15
@@
restart:
lttcomm_destroy_sock(newsock);
goto error;
}
lttcomm_destroy_sock(newsock);
goto error;
}
+
+ ret = socket_apply_keep_alive_config(newsock->fd);
+ if (ret < 0) {
+ ERR("Failed to apply TCP keep-alive configuration on socket (%i)",
+ newsock->fd);
+ lttcomm_destroy_sock(newsock);
+ goto error;
+ }
+
new_conn = connection_create(newsock, type);
if (!new_conn) {
lttcomm_destroy_sock(newsock);
new_conn = connection_create(newsock, type);
if (!new_conn) {
lttcomm_destroy_sock(newsock);
@@
-969,12
+987,16
@@
static void *relay_thread_dispatcher(void *data)
health_code_update();
health_code_update();
-
while (!CMM_LOAD_SHARED(dispatch_thread_exit)
) {
+
for (;;
) {
health_code_update();
/* Atomically prepare the queue futex */
futex_nto1_prepare(&relay_conn_queue.futex);
health_code_update();
/* Atomically prepare the queue futex */
futex_nto1_prepare(&relay_conn_queue.futex);
+ if (CMM_LOAD_SHARED(dispatch_thread_exit)) {
+ break;
+ }
+
do {
health_code_update();
do {
health_code_update();
This page took
0.029047 seconds
and
4
git commands to generate.