Add debugging info when calling plugin close function
This commit is contained in:
@@ -766,7 +766,7 @@ run_command(struct command_details *details, char *argv[], char *envp[])
|
|||||||
|
|
||||||
/* If there are I/O plugins, allocate a pty and exec */
|
/* If there are I/O plugins, allocate a pty and exec */
|
||||||
if (!tq_empty(&io_plugins)) {
|
if (!tq_empty(&io_plugins)) {
|
||||||
sudo_debug(8, "script mode");
|
sudo_debug(8, "setup I/O logging");
|
||||||
script_setup(details->euid);
|
script_setup(details->euid);
|
||||||
}
|
}
|
||||||
script_execve(details, argv, envp, &cstat);
|
script_execve(details, argv, envp, &cstat);
|
||||||
@@ -774,17 +774,21 @@ run_command(struct command_details *details, char *argv[], char *envp[])
|
|||||||
switch (cstat.type) {
|
switch (cstat.type) {
|
||||||
case CMD_ERRNO:
|
case CMD_ERRNO:
|
||||||
/* exec_setup() or execve() returned an error. */
|
/* exec_setup() or execve() returned an error. */
|
||||||
|
sudo_debug(9, "calling policy close with errno");
|
||||||
policy_plugin.u.policy->close(0, cstat.val);
|
policy_plugin.u.policy->close(0, cstat.val);
|
||||||
tq_foreach_fwd(&io_plugins, plugin) {
|
tq_foreach_fwd(&io_plugins, plugin) {
|
||||||
|
sudo_debug(9, "calling I/O close with errno");
|
||||||
plugin->u.io->close(0, cstat.val);
|
plugin->u.io->close(0, cstat.val);
|
||||||
}
|
}
|
||||||
exitcode = 1;
|
exitcode = 1;
|
||||||
break;
|
break;
|
||||||
case CMD_WSTATUS:
|
case CMD_WSTATUS:
|
||||||
/* Command ran, exited or was killed. */
|
/* Command ran, exited or was killed. */
|
||||||
|
sudo_debug(9, "calling policy close with wait status");
|
||||||
policy_plugin.u.policy->close(cstat.val, 0);
|
policy_plugin.u.policy->close(cstat.val, 0);
|
||||||
tq_foreach_fwd(&io_plugins, plugin) {
|
tq_foreach_fwd(&io_plugins, plugin) {
|
||||||
plugin->u.io->close(0, cstat.val);
|
sudo_debug(9, "calling I/O close with wait status");
|
||||||
|
plugin->u.io->close(cstat.val, 0);
|
||||||
}
|
}
|
||||||
if (WIFEXITED(cstat.val))
|
if (WIFEXITED(cstat.val))
|
||||||
exitcode = WEXITSTATUS(cstat.val);
|
exitcode = WEXITSTATUS(cstat.val);
|
||||||
|
Reference in New Issue
Block a user