lkml.org 
[lkml]   [1996]   [Dec]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Subject^Z/fg problem revisited -- SIGCHLD semantics
From
Date

A few folks responded to my previous post of problems with ^Z/fg and
bash. I got enough info to track it down to the 2.0 -> 2.0.1 patches.
Specifically it appears to be as a result of the POSIX.1 compliance
SIGCHLD semantic changes.

The fix for bash-1.14.7 is to add -DWAITPID_BROKEN to SYSDEP_CFLAGS
in machines.h. This should apply to all architectures running 2.0.1
or later. I've included a patch, only lightly tested on i386 (and which
doesn't bother testing the linux version). I'd appreciate feedback
before I submit this to the bash folks.

Here is how to reproduce the bug:

cat >bad <<EOF
#!/bin/bash
vi $*
EOF
./bad bad

then ^Z/fg several times until the race condition is triggered
bash will exit and leave vi running.

So, linux-kernel folks... I notice in the archive that these SIGCHLD
semantic changes have been brought up a few times. Are they truly correct
and necessary? It seems to break existing programs.

Incidentally I also had similar problems with mh's comp command. But it
appears unrelated.

Dean

P.S. How did this go for so long? Does nobody use ^Z/fg anymore? :)

begin 664 bash-1.14.7-linux-waitpid-broken.patch
M*BHJ(&)A<V@M,2XQ-"XW+VUA8VAI;F5S+F@N9&ES=`E3870@1&5C(#(Q(#$X
M.C$U.C4S(#$Y.38*+2TM(&)A<V@M,2XQ-"XW+VUA8VAI;F5S+F@)4V%T($1E
M8R`R,2`Q.#HQ-CHT,R`Q.3DV"BHJ*BHJ*BHJ*BHJ*BHJ*@HJ*BH@,3`T+#$Q
M,"`J*BHJ"B`@(R`@9&5F:6YE($U?34%#2$E.12`B<W5N-"(*("`C("!D969I
M;F4@35]/4R`B3&EN=7@B"B`@(R`@("!D969I;F4@4UE31$507T-&3$%'4R`M
M1$A!5D5?1T541%1!0DQ%4TE:12`M1$A!5D5?0D-/4%D@7`HA("`@("`@("`@
M("`@("`@("`@("`@("`@("`@+41(059%7T=%5%!77T1%0TQ3("U$2$%615]'
M151(3U-43D%-10H@(",@("`@9&5F:6YE(%)%455)4D5$7TQ)0E)!4DE%4PH@
M(",@("`@9&5F:6YE($A!5D5?1T541U)/55!3"B`@(R`@("!D969I;F4@2$%6
M15]35%)%4E)/4@HM+2T@,3`T+#$Q,"`M+2TM"B`@(R`@9&5F:6YE($U?34%#
M2$E.12`B<W5N-"(*("`C("!D969I;F4@35]/4R`B3&EN=7@B"B`@(R`@("!D
M969I;F4@4UE31$507T-&3$%'4R`M1$A!5D5?1T541%1!0DQ%4TE:12`M1$A!
M5D5?0D-/4%D@7`HA("`@("`@("`@("`@("`@("`@("`@("`@("`@+41(059%
M7T=%5%!77T1%0TQ3("U$2$%615]'151(3U-43D%-12`M1%=!2510241?0E)/
M2T5."B`@(R`@("!D969I;F4@4D5154E2141?3$E"4D%22453"B`@(R`@("!D
M969I;F4@2$%615]'151'4D]54%,*("`C("`@(&1E9FEN92!(059%7U-44D52
M4D]2"BHJ*BHJ*BHJ*BHJ*BHJ*@HJ*BH@,30Q+#$T-R`J*BHJ"B`@(R`@("!D
M969I;F4@35]-04-(24Y%(")S<&%R8R(*("`C("`@(&1E9FEN92!-7T]3("),
M:6YU>"(*("`C("`@(&1E9FEN92!365-$15!?0T9,04=3("U$2$%615]'151$
M5$%"3$5325I%("U$2$%615]"0T]062!<"B$@"0D)("`M1$A!5D5?1T544%=?
M1$5#3%,@+41(059%7T=%5$A/4U1.04U%"B`@(R`@("!D969I;F4@4D5154E2
M141?3$E"4D%22453"B`@(R`@("!D969I;F4@2$%615]'151'4D]54%,*("`C
M("`@(&1E9FEN92!(059%7U-44D524D]2"BTM+2`Q-#$L,30W("TM+2T*("`C
M("`@(&1E9FEN92!-7TU!0TA)3D4@(G-P87)C(@H@(",@("`@9&5F:6YE($U?
M3U,@(DQI;G5X(@H@(",@("`@9&5F:6YE(%-94T1%4%]#1DQ!1U,@+41(059%
M7T=%5$1404),15-)6D4@+41(059%7T)#3U!9(%P*(2`)"0D@("U$2$%615]'
M15105U]$14-,4R`M1$A!5D5?1T542$]35$Y!344@+41704E44$E$7T)23TM%
M3@H@(",@("`@9&5F:6YE(%)%455)4D5$7TQ)0E)!4DE%4PH@(",@("`@9&5F
M:6YE($A!5D5?1T541U)/55!3"B`@(R`@("!D969I;F4@2$%615]35%)%4E)/
M4@HJ*BHJ*BHJ*BHJ*BHJ*BH**BHJ(#(T,2PR-#<@*BHJ*@H@(",@(&1E9FEN
M92!-7TU!0TA)3D4@(F%L<&AA(@H@(",@(&1E9FEN92!-7T]3("),:6YU>"(*
M("`C("!D969I;F4@4UE31$507T-&3$%'4R`M1$A!5D5?1T541%1!0DQ%4TE:
M12`M1$A!5D5?0D-/4%D@7`HA(`D)"2U$2$%615]'15105U]$14-,4R`M1$A!
M5D5?1T542$]35$Y!344*("`C("!D969I;F4@4D5154E2141?3$E"4D%22453
M"B`@(R`@9&5F:6YE($A!5D5?1T541U)/55!3"B`@(R`@9&5F:6YE($A!5D5?
M4U1215)23U(*+2TM(#(T,2PR-#<@+2TM+0H@(",@(&1E9FEN92!-7TU!0TA)
M3D4@(F%L<&AA(@H@(",@(&1E9FEN92!-7T]3("),:6YU>"(*("`C("!D969I
M;F4@4UE31$507T-&3$%'4R`M1$A!5D5?1T541%1!0DQ%4TE:12`M1$A!5D5?
M0D-/4%D@7`HA(`D)"2U$2$%615]'15105U]$14-,4R`M1$A!5D5?1T542$]3
M5$Y!344@+41704E44$E$7T)23TM%3@H@(",@(&1E9FEN92!215%525)%1%],
M24)205))15,*("`C("!D969I;F4@2$%615]'151'4D]54%,*("`C("!D969I
M;F4@2$%615]35%)%4E)/4@HJ*BHJ*BHJ*BHJ*BHJ*BH**BHJ(#DU,RPY-3D@
M*BHJ*@H@(",@("`@9&5F:6YE($U?34%#2$E.12`B:3,X-B(*("`C("`@(&1E
M9FEN92!-7T]3("),:6YU>"(*("`C("`@(&1E9FEN92!365-$15!?0T9,04=3
M("U$2$%615]'151$5$%"3$5325I%("U$2$%615]"0T]062!<"B$@"0D)("`M
M1$A!5D5?1T544%=?1$5#3%,@+41(059%7T=%5$A/4U1.04U%"B`@(R`@("!D
M969I;F4@4D5154E2141?3$E"4D%22453"B`@(R`@("!D969I;F4@2$%615]'
M151'4D]54%,*("`C("`@(&1E9FEN92!(059%7U-44D524D]2"BTM+2`Y-3,L
M.34Y("TM+2T*("`C("`@(&1E9FEN92!-7TU!0TA)3D4@(FDS.#8B"B`@(R`@
M("!D969I;F4@35]/4R`B3&EN=7@B"B`@(R`@("!D969I;F4@4UE31$507T-&
M3$%'4R`M1$A!5D5?1T541%1!0DQ%4TE:12`M1$A!5D5?0D-/4%D@7`HA(`D)
M"2`@+41(059%7T=%5%!77T1%0TQ3("U$2$%615]'151(3U-43D%-12`M1%=!
M2510241?0E)/2T5."B`@(R`@("!D969I;F4@4D5154E2141?3$E"4D%22453
M"B`@(R`@("!D969I;F4@2$%615]'151'4D]54%,*("`C("`@(&1E9FEN92!(
M059%7U-44D524D]2"BHJ*BHJ*BHJ*BHJ*BHJ*@HJ*BH@,3`V,BPQ,#8X("HJ
M*BH*("`C:68@9&5F:6YE9"`H;6,V.#`P,"D@)B8@*&1E9FEN960@*%]?;&EN
M=7A?7RD@?'P@9&5F:6YE9"`H;&EN=7@I*0H@(",@(&1E9FEN92!-7TU!0TA)
M3D4@(FTV.&LB"B`@(R`@9&5F:6YE($U?3U,@(DQI;G5X(@HA(",@(&1E9FEN
M92!365-$15!?0T9,04=3("U$2$%615]"0T]062`M1$A!5D5?1T544%=?1$5#
M3%,@+41(059%7T=%5$A/4U1.04U%"B`@(R`@9&5F:6YE(%)%455)4D5$7TQ)
M0E)!4DE%4PH@(",@(&1E9FEN92!(059%7T=%5$=23U504PH@(",@(&1E9FEN
M92!(059%7U-44D524D]2"BTM+2`Q,#8R+#$P-C@@+2TM+0H@("-I9B!D969I
M;F5D("AM8S8X,#`P*2`F)B`H9&5F:6YE9"`H7U]L:6YU>%]?*2!\?"!D969I
M;F5D("AL:6YU>"DI"B`@(R`@9&5F:6YE($U?34%#2$E.12`B;38X:R(*("`C
M("!D969I;F4@35]/4R`B3&EN=7@B"B$@(R`@9&5F:6YE(%-94T1%4%]#1DQ!
M1U,@+41(059%7T)#3U!9("U$2$%615]'15105U]$14-,4R`M1$A!5D5?1T54
M2$]35$Y!344@+41704E44$E$7T)23TM%3@H@(",@(&1E9FEN92!215%525)%
M1%],24)205))15,*("`C("!D969I;F4@2$%615]'151'4D]54%,*("`C("!D
4969I;F4@2$%615]35%)%4E)/4@H`
`
end

\
 
 \ /
  Last update: 2005-03-22 13:38    [W:0.256 / U:0.028 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site