Commit b970575e authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

Allow the selector to be chosen by parameter "acceptor"



git-svn-id: http://www.varnish-cache.org/svn/trunk@2826 d4fa192b-c00b-0410-8231-f00ffab90ce4
parent 8c65425c
......@@ -309,8 +309,9 @@ ccf_start(struct cli *cli, const char * const *av, void *priv)
(void)cli;
(void)av;
(void)priv;
/* XXX: Add selector mechanism at some point */
vca_act = vca_acceptors[0];
if (vca_act == NULL)
vca_act = vca_acceptors[0];
AN(vca_act);
AN(vca_act->name);
......@@ -333,3 +334,35 @@ VCA_Init(void)
CLI_AddFuncs(MASTER_CLI, vca_cmds);
}
void
VCA_tweak_acceptor(struct cli *cli, const char *arg)
{
int i;
if (arg == NULL) {
if (vca_act == NULL)
cli_out(cli, "default");
else
cli_out(cli, "%s", vca_act->name);
cli_out(cli, " (");
for (i = 0; vca_acceptors[i] != NULL; i++)
cli_out(cli, "%s%s", i == 0 ? "" : ", ",
vca_acceptors[i]->name);
cli_out(cli, ")");
return;
}
if (!strcmp(arg, "default")) {
vca_act = NULL;
return;
}
for (i = 0; vca_acceptors[i]->name; i++) {
if (!strcmp(arg, vca_acceptors[i]->name)) {
vca_act = vca_acceptors[i];
return;
}
}
cli_out(cli, "Unknown acceptor");
cli_result(cli, CLIS_PARAM);
}
......@@ -32,6 +32,10 @@
struct cli;
struct sockaddr;
/* cache_acceptor.c */
void VCA_tweak_acceptor(struct cli *cli, const char *arg);
/* shmlog.c */
void VSL_MgtInit(const char *fn, unsigned size);
extern struct varnish_stats *VSL_stats;
......
......@@ -404,6 +404,17 @@ tweak_cc_command(struct cli *cli, const struct parspec *par, const char *arg)
/*--------------------------------------------------------------------*/
static void
tweak_acceptor(struct cli *cli, const struct parspec *par, const char *arg)
{
/* XXX should have tweak_generic_string */
(void)par;
VCA_tweak_acceptor(cli, arg);
}
/*--------------------------------------------------------------------*/
static void
tweak_diag_bitmap(struct cli *cli, const struct parspec *par, const char *arg)
{
......@@ -752,6 +763,10 @@ static const struct parspec parspec[] = {
"SessionOpen shared memory record.\n",
0,
"off", "bool" },
{ "acceptor", tweak_acceptor, NULL, 0, 0,
"Select the acceptor kernel interface.\n",
EXPERIMENTAL | MUST_RESTART,
"default", NULL },
{ "diag_bitmap", tweak_diag_bitmap, 0, 0, 0,
"Bitmap controlling diagnostics code:\n"
" 0x00000001 - CNT_Session states.\n"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment