void bug(const char *msg, ...) NORET;
void vlog(int class, const char *msg, va_list args);
+void set_daemon_name(char *path, char *def);
+
+
#define L_DEBUG "\001" /* Debugging messages */
#define L_TRACE "\002" /* Protocol tracing */
#define L_INFO "\003" /* Informational messages */
static struct rfile *dbg_rf;
static char *current_syslog_name = NULL; /* NULL -> syslog closed */
+const char *bird_name = NULL;
_Atomic uint max_thread_id = 1;
_Thread_local uint this_thread_id;
void
log_init_debug(char *f)
{
+ ASSERT_DIE(bird_name);
clock_gettime(CLOCK_MONOTONIC, &dbg_time_start);
if (dbg_rf && dbg_rf != &rf_stderr)
exit(1);
}
}
+
+/*
+ * Setting BIRD name
+ */
+
+static inline char *
+get_bird_name(char *s, char *def)
+{
+ char *t;
+ if (!s)
+ return def;
+ t = strrchr(s, '/');
+ if (!t)
+ return s;
+ if (!t[1])
+ return def;
+ return t+1;
+}
+
+void set_daemon_name(char *path, char *def)
+{
+ bird_name = get_bird_name(path, def);
+}
static char *opt_list = "bc:dD:ps:P:u:g:flRh";
int parse_and_exit;
-char *bird_name;
static char *use_user;
static char *use_group;
static int run_in_foreground = 0;
exit(0);
}
-static inline char *
-get_bird_name(char *s, char *def)
-{
- char *t;
- if (!s)
- return def;
- t = strrchr(s, '/');
- if (!t)
- return s;
- if (!t[1])
- return def;
- return t+1;
-}
-
static inline uid_t
get_uid(const char *s)
{
int socket_changed = 0;
int c;
- bird_name = get_bird_name(argv[0], "bird");
+ set_daemon_name(argv[0], "bird");
+
if (argc == 2)
{
if (!strcmp(argv[1], "--version"))
/* main.c */
-extern char *bird_name;
+extern const char *bird_name;
extern int parse_and_exit;
void async_config(void);
void async_dump(void);
bt_test_id = NULL;
is_terminal = isatty(fileno(stdout));
+ set_daemon_name(argv[0], "birdtest");
+
while ((c = getopt(argc, argv, "lcdftv")) >= 0)
switch (c)
{
*/
int parse_and_exit;
-char *bird_name;
void async_config(void) {}
void async_dump(void) {}
void async_shutdown(void) {}