sh: Fix INTOFF leak after a builtin with different locale settings.
After executing a builtin with different locale settings such as LC_ALL=C true SIGINT handling was left disabled indefinitely. MFC after: 1 week
This commit is contained in:
parent
853e9ff25c
commit
3f2da875f7
@ -120,6 +120,7 @@ ${PACKAGE}FILES+= local7.0
|
||||
.if ${MK_NLS} != "no"
|
||||
${PACKAGE}FILES+= locale1.0
|
||||
.endif
|
||||
${PACKAGE}FILES+= locale2.0
|
||||
${PACKAGE}FILES+= printf1.0
|
||||
${PACKAGE}FILES+= printf2.0
|
||||
${PACKAGE}FILES+= printf3.0
|
||||
|
5
bin/sh/tests/builtins/locale2.0
Normal file
5
bin/sh/tests/builtins/locale2.0
Normal file
@ -0,0 +1,5 @@
|
||||
# $FreeBSD$
|
||||
|
||||
$SH -c 'LC_ALL=C true; kill -INT $$; echo continued'
|
||||
r=$?
|
||||
[ "$r" -gt 128 ] && [ "$(kill -l "$r")" = INT ]
|
@ -513,7 +513,7 @@ bltinunsetlocale(void)
|
||||
if (localevar(cmdenviron->args[i])) {
|
||||
setlocale(LC_ALL, "");
|
||||
updatecharset();
|
||||
return;
|
||||
break;
|
||||
}
|
||||
}
|
||||
INTON;
|
||||
|
Loading…
Reference in New Issue
Block a user