*/
#define _GNU_SOURCE
+#define _LGPL_SOURCE
#include <fcntl.h>
#include <getopt.h>
#include <grp.h>
#include "lttng-consumerd.h"
#include "health-consumerd.h"
-/* TODO : support UST (all direct kernel-ctl accesses). */
-
/* threads (channel handling, poll, metadata, sessiond) */
static pthread_t channel_thread, data_thread, metadata_thread,
/* Argument variables */
int lttng_opt_quiet; /* not static in error.h */
int lttng_opt_verbose; /* not static in error.h */
+int lttng_opt_mi; /* not static in error.h */
+
static int opt_daemon;
static const char *progname;
static char command_sock_path[PATH_MAX]; /* Global command socket path */
sigset_t sigset;
if ((ret = sigemptyset(&sigset)) < 0) {
- perror("sigemptyset");
+ PERROR("sigemptyset");
return ret;
}
sa.sa_mask = sigset;
sa.sa_flags = 0;
if ((ret = sigaction(SIGTERM, &sa, NULL)) < 0) {
- perror("sigaction");
+ PERROR("sigaction");
return ret;
}
if ((ret = sigaction(SIGINT, &sa, NULL)) < 0) {
- perror("sigaction");
+ PERROR("sigaction");
return ret;
}
if ((ret = sigaction(SIGPIPE, &sa, NULL)) < 0) {
- perror("sigaction");
+ PERROR("sigaction");
return ret;
}
/*
* daemon argument parsing
*/
-static void parse_args(int argc, char **argv)
+static int parse_args(int argc, char **argv)
{
- int c;
+ int c, ret = 0;
static struct option long_options[] = {
{ "consumerd-cmd-sock", 1, 0, 'c' },
fprintf(stderr, "option %s", long_options[option_index].name);
if (optarg) {
fprintf(stderr, " with arg %s\n", optarg);
+ ret = -1;
+ goto end;
}
break;
case 'c':
#endif
default:
usage(stderr);
- exit(EXIT_FAILURE);
+ ret = -1;
+ goto end;
}
}
+end:
+ return ret;
}
/*