dhclient: Return non-zero status when script exits due to a signal
r343896 made it such that a non-zero exit status was passed through, but was still wrong if the script exits on a signal. POSIX does not say what the WEXITSTATUS macro returns in this case and in practice 0 is a common value. Instead, translate the wait status into 8 bits the same way as the shell calculates $?. Reviewed by: kib, Nash Kaminski MFC after: 1 week
This commit is contained in:
parent
60c81cf107
commit
3b08e0fcf3
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=343922
@ -2348,7 +2348,8 @@ priv_script_go(void)
|
|||||||
if (ip)
|
if (ip)
|
||||||
script_flush_env(ip->client);
|
script_flush_env(ip->client);
|
||||||
|
|
||||||
return WEXITSTATUS(wstatus);
|
return (WIFEXITED(wstatus) ?
|
||||||
|
WEXITSTATUS(wstatus) : 128 + WTERMSIG(wstatus));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
Loading…
Reference in New Issue
Block a user