pthread_abort and pthread_cancel do not return when called from a signal
handler or an “at exit” handler when the main thread is waiting on a
semaphore. Both threads appear to be blocked on the semaphore. The
information for the second thread may be invalid.
pthread_abort and pthread_cancel return successfully if called from a third
thread. The aborted thread appears to be blocked on the semaphore. Again,
the thread information may be invalid.
I’m using QNX 6.3.0 SP1. I’ve attached a trivial sample program.
Thanks, Dennis
begin 666 TestAbort.c
M#0HC:6YC;‘5D92 <W1D;&EB+F@^#0HC:6YC;‘5D92 <W1D:6\N:#X-“B-I
M;F-L=61E(#QP=&AR96%D+F@^#0HC:6YC;'5D92 =6YI<W1D+F@^#0HC:6YC
M;‘5D92 \97)R;F\N:#X-"B-I;F-L=61E(#QS96UA<&AO<F4N:#X-“B-I;F-L
M=61E(#QS>7,O=‘EP97,N:#X-"B-I;F-L=61E(#QS>7,O<W1A="YH/@T*(VEN
M8VQU9&4@/&9C;G1L+F@^#0H-“B\JBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHO#0HOBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
M+PT*+RHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJB-”@T*(V1E
M9FEN92!&04Q312 H,“D-“B-D969I;F4@5%)512 @#$I#0H-"G-T871I8R!P
M=&AR96%D7W0@5&AR96%D260@/2 M,3L-“G-T871I8R!P=&AR96%D7W0@06-T
M:6]N5&AR96%D260@/2 M,3L-”@T#0IS=&%T:6,@=F]I9” @071%>&ET2&%N
M9&QE<BAV;VED3L-“G-T871I8R!V;VED(”!3:6=N86Q(86YD;&5R&EN=”!S
M:6=N=6TI.PT*<W1A=&EC(‘9O:60J(%1E<W14:’)E860H=F]I9"H@=6YU<V5D
M3L-"G-T871I8R!V;VEDB!!8W1I;VY4:’)E860H=F]I9"H@=6YU<V5D3L-
M"@T#0HOBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ+PT*+RHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJB-“B\JBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHO#0H-“FEN=”!M86EN*&EN=”!A<F=C
M+”!C:&%R(“IA<F=V6UTI#0I[#0H@(”!I;G0@97)R;W)?9F]U;F0@/2!&04Q3
M13L-“B @(&EN=”!R971?8V]D93L-"B @(’-E;5]T(“IS96U?<'1R.PT*#0H@
M(”!P<FEN=&8H(D9I;&4@)7,L(&QI;F4@)60L(&9U;F-T:6]N(“5S7&XB+”!?
M7T9)3$5?7RP@7U],24Y%7U\L(%]?9G5N8U]?3L-"@T(” @:68@%-)1U]%
M4E(@/3T@<VEG;F%L("A324=)3E0L(%-I9VYA;$AA;F1L97(I0T*(" @>PT*
M(" @(" @97)R;W)?9F]U;F0@/2!44E5%.PT*(" @?0T*#0H@("!I9B H1D%,
M4T4@/3T@97)R;W)?9F]U;F0I#0H@("![#0H@(" @("!I9B H," A/2!A=&5X
M:70H071%>&ET2&%N9&QE<BDI#0H@(" @("![#0H@(" @(" @("!E<G)O<E]F
M;W5N9" ](%12544[#0H@(" @("!]#0H@("!]#0H-"B @(&EF("A&04Q312 ]
M/2!E<G)O<E]F;W5N9"D-“B @('L-“B @(” @(&EF(”@M,2 ]/2!P=&AR96%D
M7V-R96%T92@F5&AR96%D260L($Y53$PL(%1E<W14:’)E860L($Y53$PI0T
M(" @(" @>PT*(" @(" @(" @97)R;W)?9F]U;F0@/2!44E5%.PT*(" @(" @
M?0T*(" @?0T*#0H@("!I9B H1D%,4T4@/3T@97)R;W)?9F]U;F0I#0H@("![
M#0H@(" @("!I9B H+3$@/3T@<‘1H<F5A9%]C<F5A=&4H)D%C=&EO;E1H<F5A
M9$ED+"!.54Q,+"!!8W1I;VY4:’)E860L($Y53$PI0T(" @(" @>PT*(" @
M(" @(" @97)R;W)?9F]U;F0@/2!44E5%.PT*(" @(" @?0T*(" @?0T*#0H@
M("!I9B H1D%,4T4@/3T@97)R;W)?9F]U;F0I#0H@("![#0H@(" @("!S>7-T
M96T@")R;2 M9B O9&5V+W-E;2]497-T06)O<G0B3L-“B @(” @(’-E;5]P
M=’(@/2!S96U?;W!E;B@B+U1E<W1!8F]R="(L#0H@(" @(" @(" @(" @(" @
M(" @(" @(" @3U]#4D5!5"!($]?15A#3"P@4U])4E=852!(%-?25)76$<@
M?"!37TE25UA/+" P3L-"@T(" @(" @:68@“AS96U?=” J2TQ(#T](’-E
M;5]P=’(I#0H@(" @("![#0H@(" @(" @("!E<G)O<E]F;W5N9" ](%12544[
M#0H@(" @("!]#0H@("!]#0H-“B @(&EF(“A&04Q312 ]/2!E<G)O<E]F;W5N
M9"D-“B @('L-“B @(” @(&9O<B H.SLI#0H@(” @(”![#0H@(” @(" @("!R
M971?8V]D92 ](’-E;5]W86ET*’-E;5]P=’(I.PT*(" @(" @(" @<’)I;G1F
M*")&:6QE(“5S+”!L:6YE(“5D+”!F=6YC=&EO;B E<RP@<F5T7V-O9&4@)61<
M;B(L#0H@(" @(" @(" @(" @(" @7U]&24Q%7U\L(%]?3$E.15]?+"!?7V9U
M;F-?7RP@<F5T7V-O9&4I.PT*(" @(" @?0T*(" @?0T*#0H@("!R971U<FX@
M15A)5%]354-#15-3.PT*?0T*#0HOBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJ+PT*+RHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MB-“B\JBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHO#0H-“G-T
M871I8R!V;VEDB!497-T5&AR96%D’9O:60J('5N=7-E9"D-“GL-“B @(&9O
M<B H.SLI#0H@(”![#0H@(” @(”!P<FEN=&8H(D9I;&4@)7,L(&QI;F4@)60L
M(&9U;F-T:6]N(“5S7&XB+”!?7T9)3$5?7RP@7U],24Y%7U\L(%]?9G5N8U]?
M3L-“B @(” @(&1E;&%Y#$P,# I.PT*(” @?0T*?0T*#0HOBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJ+PT*+RHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJB-“B\JBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHO#0H-“G-T871I8R!V;VEDB!!8W1I;VY4:’)E860H=F]I9"H@
M=6YU<V5D0T*>PT*(” @<’)I;G1F*”)&:6QE(“5S+”!L:6YE(“5D+”!F=6YC
M=&EO;B E<UQN(BP@7U]&24Q%7U\L(%]?3$E.15]?+"!?7V9U;F-?7RD[#0H@
M("!D96QA>2 H-3 P,“D[#0H@(”!P<FEN=&8H(D9I;&4@)7,L(&QI;F4@)60L
M(&9U;F-T:6]N(“5S7&XB+”!?7T9)3$5?7RP@7U],24Y%7U\L(%]?9G5N8U]?
M3L-"@T(" @(VEF(#$-"@T*(" @:68@$5/2R A/2!P=&AR96%D7V%B;W)T
M%1H<F5A9$ED2D-“B @(”\O:68@$5/2R A/2!P=&AR96%D7V-A;F-E;“A4
M:’)E861)9"DI#0H@(”![#0H@(" @("!P<FEN=&8H(D9I;&4@)7,L(&QI;F4@
M)60L(&9U;F-T:6]N(“5S7&XB+”!?7T9)3$5?7RP@7U],24Y%7U\L(%]?9G5N
M8U]?3L-“B @('T-”@T(" @<’)I;G1F*")&:6QE(“5S+”!L:6YE(“5D+”!F
M=6YC=&EO;B E<UQN(BP@7U]&24Q%7U\L(%]?3$E.15]?+"!?7V9U;F-?7RD[
M#0H@(" C96YD:68-"@T*(" @9&5L87D@#4P,# I.PT#0H@("!F;W(@#L[
M0T*(" @>PT*(" @(" @<’)I;G1F*")&:6QE(“5S+”!L:6YE(“5D+”!F=6YC
M=&EO;B E<UQN(BP@7U]&24Q%7U\L(%]?3$E.15]?+"!?7V9U;F-?7RD[#0H@
M(" @("!D96QA>2@Q,# P3L-"B @('T-“GT-”@T+RHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJB-“B\JBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHO#0HOBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJ+PT*#0IS=&%T:6,@=F]I9”!3:6=N86Q(86YD;&5R*&EN="!S:6=N=6TI
M#0I[#0H@("!P<FEN=&8H(D9I;&4@)7,L(&QI;F4@)60L(&9U;F-T:6]N(“5S
M7&XB+”!?7T9)3$5?7RP@7U],24Y%7U\L(%]?9G5N8U]?3L-"@T(" @(VEF
M(# -"@T*(" @:68@$5/2R A/2!P=&AR96%D7V%B;W)T%1H<F5A9$ED2D-
M"B @("\O:68@$5/2R A/2!P=&AR96%D7V-A;F-E;“A4:’)E861)9"DI#0H@
M(”![#0H@(" @("!P<FEN=&8H(D9I;&4@)7,L(&QI;F4@)60L(&9U;F-T:6]N
M(“5S7&XB+”!?7T9)3$5?7RP@7U],24Y%7U\L(%]?9G5N8U]?3L-“B @('T-
M”@T(" @<’)I;G1F*")&:6QE(“5S+”!L:6YE(“5D+”!F=6YC=&EO;B E<UQN
M(BP@7U]&24Q%7U\L(%]?3$E.15]?+"!?7V9U;F-?7RD[#0H@(" C96YD:68-
M"@T*(" @97AI="@W3L-“GT-”@T+RHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJB-“B\JBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHO#0HOBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ+PT*#0IS
M=&%T:6,@=F]I9”!!=$5X:71(86YD;&5R*‘9O:60I#0I[#0H@("!P<FEN=&8H
M(D9I;&4@)7,L(&QI;F4@)60L(&9U;F-T:6]N(“5S7&XB+”!?7T9)3$5?7RP@
M7U],24Y%7U\L(%]?9G5N8U]?3L-"@T(" @(VEF(# -"@T*(" @:68@$5/
M2R A/2!P=&AR96%D7V%B;W)T%1H<F5A9$ED2D-“B @(”\O:68@$5/2R A
M/2!P=&AR96%D7V-A;F-E;"A4:’)E861)9"DI#0H@("![#0H@(" @("!P<FEN
M=&8H(D9I;&4@)7,L(&QI;F4@)60L(&9U;F-T:6]N(“5S7&XB+”!?7T9)3$5?
M7RP@7U],24Y%7U\L(%]?9G5N8U]?3L-“B @('T-”@T(" @<’)I;G1F*")&
M:6QE(“5S+”!L:6YE(“5D+”!F=6YC=&EO;B E<UQN(BP@7U]&24Q%7U\L(%]?
D3$E.15]?+"!?7V9U;F-?7RD[#0H@(" C96YD:68-“GT-”@T*
`
end