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)
|
||||
script_flush_env(ip->client);
|
||||
|
||||
return WEXITSTATUS(wstatus);
|
||||
return (WIFEXITED(wstatus) ?
|
||||
WEXITSTATUS(wstatus) : 128 + WTERMSIG(wstatus));
|
||||
}
|
||||
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user