提交 ac43da70 编写于 作者: M Martin Kletzander

virsh: Fix debugging

Commit a0b6a36f "fixed" what abfff210 broke (URI precedence), but
there was still one more thing missing to fix.  When using virsh
parameters to setup debugging, those weren't honored, because at the
time debugging was initializing, arguments weren't parsed yet.  To
make ewerything work as expected, we need to initialize the debugging
twice, once before debugging (so we can debug option parsing properly)
and then again after these options are parsed.

As a side effect, this patch also fixes a leak when virsh is ran with
multiple '-l' parameters.
Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
上级 2ab0948d
......@@ -2321,10 +2321,9 @@ vshInitDebug(vshControl *ctl)
debugEnv = getenv("VIRSH_LOG_FILE");
if (debugEnv && *debugEnv) {
ctl->logfile = vshStrdup(ctl, debugEnv);
vshOpenLogFile(ctl);
}
}
vshOpenLogFile(ctl);
}
/*
......@@ -2333,6 +2332,10 @@ vshInitDebug(vshControl *ctl)
static bool
vshInit(vshControl *ctl)
{
/* Since we have the commandline arguments parsed, we need to
* re-initialize all the debugging to make it work properly */
vshInitDebug(ctl);
if (ctl->conn)
return false;
......@@ -3041,7 +3044,9 @@ vshParseArgv(vshControl *ctl, int argc, char **argv)
ctl->readonly = true;
break;
case 'l':
vshCloseLogFile(ctl);
ctl->logfile = vshStrdup(ctl, optarg);
vshOpenLogFile(ctl);
break;
case 'e':
len = strlen(optarg);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册