- Path to control socket is selectable via command-line option.
- die() when control socket open failed.
This commit is contained in:
parent
4d4de35f00
commit
dc82daaa9b
1 changed files with 9 additions and 3 deletions
|
@ -104,6 +104,7 @@ async_config(void)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static sock *cli_sk;
|
static sock *cli_sk;
|
||||||
|
static char *path_control_socket = PATH_CONTROL_SOCKET;
|
||||||
|
|
||||||
int
|
int
|
||||||
cli_write(cli *c)
|
cli_write(cli *c)
|
||||||
|
@ -187,6 +188,7 @@ cli_connect(sock *s, int size)
|
||||||
s->err_hook = cli_err;
|
s->err_hook = cli_err;
|
||||||
s->rbsize = 1024;
|
s->rbsize = 1024;
|
||||||
s->data = c = cli_new(s);
|
s->data = c = cli_new(s);
|
||||||
|
s->pool = c->pool; /* We need to have all the socket buffers allocated in the cli pool */
|
||||||
c->rx_pos = c->rx_buf;
|
c->rx_pos = c->rx_buf;
|
||||||
c->rx_aux = NULL;
|
c->rx_aux = NULL;
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -201,7 +203,8 @@ cli_init_unix(void)
|
||||||
s = cli_sk = sk_new(cli_pool);
|
s = cli_sk = sk_new(cli_pool);
|
||||||
s->type = SK_UNIX_PASSIVE;
|
s->type = SK_UNIX_PASSIVE;
|
||||||
s->rx_hook = cli_connect;
|
s->rx_hook = cli_connect;
|
||||||
sk_open_unix(s, PATH_CONTROL_SOCKET);
|
if (sk_open_unix(s, path_control_socket) < 0)
|
||||||
|
die("Unable to create control socket %s", path_control_socket);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -270,13 +273,13 @@ signal_init(void)
|
||||||
* Parsing of command-line arguments
|
* Parsing of command-line arguments
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static char *opt_list = "c:dD:";
|
static char *opt_list = "c:dD:s:";
|
||||||
static int debug_flag = 1; /* FIXME: Turn off for production use */
|
static int debug_flag = 1; /* FIXME: Turn off for production use */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
usage(void)
|
usage(void)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Usage: bird [-c <config-file>] [-d] [-D <debug-file>]\n");
|
fprintf(stderr, "Usage: bird [-c <config-file>] [-d] [-D <debug-file>] [-s <control-socket>]\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -298,6 +301,9 @@ parse_args(int argc, char **argv)
|
||||||
log_init_debug(optarg);
|
log_init_debug(optarg);
|
||||||
debug_flag |= 2;
|
debug_flag |= 2;
|
||||||
break;
|
break;
|
||||||
|
case 's':
|
||||||
|
path_control_socket = optarg;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
usage();
|
usage();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue