I’ve attached a copy of the code that crashes the OS. I think I’ve supplied
all of the definitions, etc. that are needed to compile and run it. I’ll
include the makefile, too. It was running from within a PhAB-generated GUI,
so you may need to modify the makefile before it’ll compile.
If you need anything else, let me know.
-Tom
“David Gibbs” <dagibbs@qnx.com> wrote in message
news:a2pd6n$6jh$1@nntp.qnx.com…
Tom Worsnopp <> GreyCloak@northwestern.edu> > wrote:
I don’t have the original code, but I could reconstruct it for you if it
would be useful. Since it wasn’t working, I just replaced it.
If it wouldn’t be too much trouble to recreate a self-contained sample,
I would appreciate it. If it crashes the OS, rather than just the program
doing the bad stuff it is probably something we want to investigate.
Regarding the pulse code, you said that it is usually used to identify
what
“type” of pulse it is. Where can I find out what types there are? Or
is it
ok for me to just assign the code to MINAVAIL, and then if there are
different pulses to be handled, to assign MINAVAIL+1, MINAVAIL+2, etc.
to
those?
It is expected that you will assign to MINAVAIL, MINAVAI+1, etc.
Often, you will do stuff like:
#define TIMER_PULSE_CODE PULSE_CODE_MINAVAIL
#define ISR_PULSE_CODE PULSE_CODE_MINAVAIL+1
#define IO_NOTIFY_PULSE_CODE PULSE_CODE_MINAVAIL+2
…
There are a set of already defined pulses used by the system – they
are pulses with the high bit set. That is, they are outside the
range of PULSE_CODE_MINAVAIL to PULSE_CODE_MAXAVAIL. For examples
of some of the assigned pulses, check out the ChannelCreate() docs
where you can specify various flags to receive particular pulses.
-David
QNX Training Services
http://www.qnx.com/support/training/
Please followup in this newsgroup if you have further questions.
begin 666 utla.c
M+RHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJB-“B\J(” @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @("HO#0HOB!#<F5A=&5D(" @,#$M,30M,C P
M,B @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" J+PT*+RH@36]D:69I960@(# Q+3$V+3(P,#(@(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @B-
M"B\J(%1O;2!7;W)S;F]P<" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @("HO#0HOB @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" J+PT*+RHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJB-"@T+RHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MB-“B\J(” @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @("HO#0HOB @(" @
M(" @(" @(" @(" @(" @(" @(" @(" C:6YC;‘5D92!&:6QE<R @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" J+PT*+RH@(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @B-"B\JBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHO#0HC9&5F:6YE(%]?1T-#7T)524Q424X-"B-I;F-L=61E(#QS=&1I;RYH
M/@T*(VEN8VQU9&4@/’-T9&QI8BYH/@T*(VEN8VQU9&4@/‘5N:7-T9"YH/@T*
M(VEN8VQU9&4@/&UA=&@N:#X-"@T*+RH@2&5A9&5R<R!R97%U:7)E9"!F;W(@
M44Y8+7)E;&%T960@9G5N8W1I;VYS("HO#0HC:6YC;‘5D92 <’)O8V5S<RYH
M/@T*(VEN8VQU9&4@/’-T9&1E9BYH/@T*(VEN8VQU9&4@/’-I9VYA;“YH/@T*
M(VEN8VQU9&4@/‘1I;64N:#X-"B-I;F-L=61E(#QS>7,O<V-H960N:#X-"B-I
M;F-L=61E(#QE<G)N;RYH/@T*(VEN8VQU9&4@/’-E;6%P:&]R92YH/@T*(VEN
M8VQU9&4@/&UA;&QO8RYH/@T*(VEN8VQU9&4@/’-Y<R]M;6%N+F@^#0HC:6YC
M;'5D92 <WES+VYE=71R:6YO+F@^#0HC:6YC;'5D92 <‘1H<F5A9"YH/@T*
M(VEN8VQU9&4@/’-Y<R]N971M9W(N:#X-”@T*+RH@4&A!0B!H96%D97)S(“HO
M#0HC:6YC;'5D92 B86)L:6)S+F@B#0HC:6YC;'5D92 B86)I;7!O<G0N:”(-
M"B-I;F-L=61E(")P<F]T;RYH(@T*#0HOBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJ+PT+RH@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @B-
M"B\J(" @(" @(" @(" @(" @(" @(" @(" @(" @($=L;V)A;’,@(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @("HO#0HOB @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" J+PT*+RHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJB-"G1Y<&5D968@<W1R=6-T>PT"61O=6)L92!A;F=L95LS
M73L-"@ED;W5B;&4@96QB;W=?<&]S6S)=.PT*“61O=6)L92!E;F1P=%]P;W-;
M,ET#0I7T1!5$$[#0H-“E194$5?1U5)7T1!5$$@9W5I7V1A
M=&$[#0H-“G-E;5]T(%]S96UA<&AO<F4[#0IP=&AR96%D7W0@<V5M87!H;W)E
M7W1H<F5A9%]I9#L-“G!T:’)E861?=”!C;VYT<F]L7W1H<F5A9%]I9#L-”@T*
M+RH@07!P;&EC871I;VX@3W!T:6]N<R!S=’)I;F<@B-“F-O;G-T(&-H87(@
M07!/<'1I;VYS6UT@/2!!0E]/4%1)3TY3(”(B.R OB!!9&0@>6]U<B!O<'1I
M;VYS(&EN('1H92 B(B J+PT*#0HOBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJ+PT+RH@(” @(” @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @B-“B\J
M(” @(" @(" @(" @(" @(" @(" @(" @(" @4’)O=&]T>7!E<R @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @("HO#0HOB @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" J+PT*+RHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJB-"@T=F]I9"!S=&%R=%1H<F5A9’,H3L-"G9O:60@<W1A<G13
M96UA<&AO<F54:’)E860H3L-“G9O:60@<W1A<G1#;VYT<F]L5&AR96%D*“D[
M#0H-“B\JBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHO#0HOB @(” @
M(” @(” @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" J+PT*+RH@(" @(" @(" @(" @(" @
M(" @(" @(" @(" @36%I;B @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @B-“B\J(” @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M("HO#0HOBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHJ+PT*:6YT(‘5T
M;&$H:6YT(&%R9V,L(&-H87(@F%R9W9;72E[#0H@("\J(%!H04(@4W1U9F8@
M=&@(F5L:6UI;F%T92 G=6YR969E<F5N8V5D)R!W87)N:6YG<R(@B-"B @
M87)G8R ](&%R9V,L(&%R9W8@/2!A<F=V.PT#0H@(’-T87)T5&AR96%D<R@I
M.PT(" -“B @+RH@36]R92!0:$%”(%-T=69F("HO#0H@(’)E=‘5R;B@@4’1?
M0T].5$E.544@3L-“GT-”@T+RHJBHJBHJBHJBHJBHJ+PT+RH@4W1A
M<G0@5&AR96%D<R J+PT*+RHJBHJBHJBHJBHJBHJ+PT=F]I9"!S=&%R
M=%1H<F5A9’,H7L-“B @<W1R=6-T(%]C;&]C:W!E<FEO9”!C;&]C:U]P97)I
M;V0[#0H@(&-H87()B!S96UA<&AO<F5?<W1A8VL[#0H@(&-H87()B!C;VYT
M<F]L7W-T86-K.PT("!I;G0@<W1A8VM?<VEZ92 ](#(P-#@[#0H@(’!T:’)E
M861?871T<E]T(&%T=’([#0H@(’-T<G5C="!S8VAE9%]P87)A;2!P87)A;3L-
M"@D)"0T(" OB!S970@:6YT97)N86P@8VQO8VL@<F%T92 J+PT*("!C;&]C
M:U]P97)I;V0N;G-E8R ](#4P,# P,#L-“B @:68H0VQO8VM097)I;V0H0TQ/
M0TM?4D5!3%1)344L)F-L;V-K7W!E<FEO9"Q.54Q,+# I(#T](“TQ2![#0H@
M(" @<’)I;G1F”)F86EL960@=&@<V5T(&-L;V-K(’!E<FEO9%QN(BD[#0H@
M(” @97AI="@P3L-"B @?0T#0H@(’!A<F%M+G-C:&5D7W!R:6]R:71Y(#T@
M,C4[#0H@(’-C:&5D7W-E=’-C:&5D=6QE<B@P+%-#2$5$7T9)1D\L)G!A<F%M
M3L-“B @#0H@(”\J(’-T87)T(’-I;75L871I;VY?<V5M87!H;W)E7W1H<F5A
M9" M(‘1H92!T:’)E860@=&AA="!P;W-T<R!T:&4@<V5M87!H;W)E("HO#0H@
M(’-E;6%P:&]R95]S=&%C:R ](&UA;&QO8R H<W1A8VM?<VEZ92D[#0H@(’!T
M:’)E861?871T<E]I;FET"9A=‘1R3L-"B @<‘1H<F5A9%]A=‘1R7W-E=’-T
M86-K861D<B@F871T<BP@)G-E;6%P:&]R95]S=&%C:RD[#0H@(’!T:’)E861?
M871T<E]S971S=&%C:W-I>F4H)F%T=’(L(’-T86-K7W-I>F4I.PT("!P=&AR
M96%D7V-R96%T92@F<V5M87!H;W)E7W1H<F5A9%]I9"P@)F%T=’(L(“AV;VED
MBES=&%R=%-E;6%P:&]R951H<F5A9"P@,“D[#0H@(’!A<F%M+G-C:&5D7W!R
M:6]R:71Y(#T@,CD[#0H@(’-C:&5D7W-E=’-C:&5D=6QE<BAS96UA<&AO<F5?
M=&AR96%D7VED+”!30TA%1%]&249/+" F<&%R86TI.PT(” -“B @+RH@<W1A
M<G0@<VEM=6QA=&EO;B!T:’)E860@+2!T:&4@=&AR96%D(‘1H870@<G5N<R!T
M:&4@8V]N=’)O;”!L;V]P(“HO#0H@(&-O;G1R;VQ?<W1A8VL@/2 H8VAA<B J
M2!C86QL;V,@#$L.“IS=&%C:U]S:7IE3L-"B @<'1H<F5A9%]A=‘1R7W-E
M=’-T86-K861D<B@F871T<BP@)F-O;G1R;VQ?<W1A8VLI.PT(”!P=&AR96%D
M7V%T=’)?<V5T<W1A8VMS:7IE*“9A='1R+” XG-T86-K7W-I>F4I.PT(”!P
M=&AR96%D7V-R96%T92@F8V]N=’)O;%]T:’)E861?:60L(“9A='1R+” H=F]I
M9"HI<W1A<G1#;VYT<F]L5&AR96%D+" P3L-"B @<&%R86TN<V-H961?<’)I
M;W)I='D@/2 R.#L-"B @<V-H961?<V5T<V-H961U;&5R&-O;G1R;VQ?=&AR
M96%D7VED+"!30TA%1%]&249/+" F<&%R86TI.PT*("!I9B H8V]N=’)O;%]T
M:’)E861?:60@/3T@+3$I(‘L-“B @(”!P<FEN=&8@")#;W5L9&XG="!S=&%R
M="!C;VYT<F]L('1H<F5A9"%<;B(I.PT(" @(&5X:70@#$I.PT("!]#0I]
M#0H-"@T*+RHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHO#0HOB @
M(" @4V5M87!H;W)E(%1H<F5A9" @(" @(" @B-"B\JBHJBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJ+PT*=F]I9"!S=&%R=%-E;6%P:&]R951H<F5A
M9"@I>PT*(" OB!T:&ES(‘1H<F5A9"!I<R!T:&4@<V5M87!H;W)E(’!O<W1E
M<B!T:&%T(’-I;75L871I;VY?=&AR96%D(’=A:71S(&9O<B J+PT("!T:6UE
M<E]T(’-E;6%P:&]R95]T:6UE<E]I9#L-“B @<W1R=6-T(’-I9V5V96YT(’-E
M;6%P:&]R95]E=F5N=#L-“B @<W1R=6-T(%]I=&EM97(@<V5M87!H;W)E7W1I
M;65R7W-P96-S.PT*(”!I;G0@<V5M87!H;W)E7V-H86YN96Q?:60[#0H@(&EN
M=”!M<V<[#0H@(’-T<G5C="!S8VAE9%]P87)A;2!P87)A;3L-“B @#0H@(&EF
M(”@H<V5M7VEN:70H)E]S96UA<&AO<F4L(#$L(# I2 ]/2 M,2D@>PT(" @
M(’!R:6YT9B H(E-E;6%P:&]R92!I;FET:6%L:7IA=&EO;B!F86EL=7)E(5QN
M(BD[#0H@(" @97AI=" H,2D[#0H@(‘T-"B @#0H@(’-E;6%P:&]R95]C:&%N
M;F5L7VED(#T@0VAA;FYE;$-R96%T92@P3L-“B @0V]N;F5C=$%T=&%C:”@P
M+"!S96UA<&AO<F5?=&AR96%D7VED+"!S96UA<&AO<F5?8VAA;FYE;%]I9"P@
M,“P@,“D[#0H@(’!A<F%M+G-C:&5D7W!R:6]R:71Y(#T@,CD[#0H@(’-C:&5D
M7W-E=’-C:&5D=6QE<BAS96UA<&AO<F5?=&AR96%D7VED+”!30TA%1%]&249/
M+” F<&%R86TI.PT("!S96UA<&AO<F5?979E;G0N<VEG979?<VEG;F@/2!3
M24=%5E]054Q313L-“B @<V5M87!H;W)E7W1I;65R7VED(#T@5&EM97)#<F5A
M=&4H0TQ/0TM?4D5!3%1)344L(“9S96UA<&AO<F5?979E;G0I.PT*(”!S96UA
M<&AO<F5?=&EM97)?<W!E8W,N;G-E8R ](#%,.PT*(”!S96UA<&AO<F5?=&EM
M97)?<W!E8W,N:6YT97)V86Q?;G-E8R ](#0Y.34P-#!,.PT*("!4:6UE<E-E
M=‘1I;64H<V5M87!H;W)E7W1I;65R7VED+" P+" F<V5M87!H;W)E7W1I;65R
M7W-P96-S+"!.54Q,3L-“B @#0H@(’=H:6QE(”@Q2![#0H@(" @37-G4F5C
M96EV92AS96UA<&AO<F5?8VAA;FYE;%]I9"P@)FUS9RP@,3 P,“P@3E5,3"D[
M#0H@(” @:68@“AS96U?<&]S=”@F7W-E;6%P:&]R92DI(#T]("TQ7L-“B @
M(” @(’!R:6YT9B H(E5N86)L92!T;R!P;W-T(’-E;6%P:&]R92%<;B(I.PT*
M(" @(" @97AI=" H,2D[#0H@(" @?0T*("!]#0I]#0H-“B\JBHJBHJBHJ
MBHJBHJBHJBHJBHJBHJBHJ+PT*+RH@(” @($-O;G1R;VP@5&AR96%D
M(" @(" @(" J+PT*+RHJBHJBHJBHJBHJBHJBHJBHJBHJBHJBHO
M#0IV;VED(’-T87)T0V]N=’)O;%1H<F5A9"@I>PT*(" OB!T:&ES(‘1H<F5A
M9"!I<R!T:&4@<VEM=6QA=&EO;B!T:’)E860@=&AA="!E>&5C=71E<R!A=" Q
M+T14(&AE<G1Z(’=A:71I;F<@9F]R(’-I;75L871I;VY?<V5M87!H;W)E7W1H
M<F5A9" J+PT("!W:&EL92 H,2D@>PT*(" @("\J(’=A:70@9F]R(’-I;75L
M871I;VY?<V5M87!H;W)E7W1H<F5A9"!T;R!P;W-T(“HO#0H@(” @<V5M7W=A
::70H)E]S96UA<&AO<F4I.PT*("!]#0I]#0H
end
begin 666 Makefile.dat
M(PHC($%P<&QI8V%T:6]N($UA:V5F:6QE(" @“B,"FEF9&5F($1"1PI$0D=?
M4D5,14%312 ]("U/,R M9F]M:70M9G)A;64M<&]I;G1E<@I$0D=?1$5"54<@
M/2 M3R M9V1W87)F+3(1$5"54<])"A$0D=?)"A$0D<I0IE;F1I9@H:69N
M9&5F($1%0E5’“D1%0E5’(#T@+6<96YD:68"FEF;F1E9B!/4%1)30I/4%1)
M32 ](“U/“F5N9&EF”@II;F-L=61E"2XN+V%B3V9I;&5S"FEN8VQU9&4@+BXO
M:6YD3V9I;&5S”@II;F-L=61E"2XN+V%B4V9I;&5S"FEN8VQU9&4@+BXO:6YD
M4V9I;&5S”@II;F-L=61E"2XN+V%B2&9I;&5S"FEN8VQU9&4@+BXO:6YD2&9I
M;&5S”@II;F-L=61E"2XN+V%B5V9I;&5S"FEN8VQU9&4)+BXO86),9FEL97,*
M"E!,051&3U)-/6=C8U]N=&]X.#84$A!0D]05%,]( H0T,@(#T@<6-C"D-8
M6" ](’%C8PI,1" @/2!Q8V,"D-&3$%'4R @/2 M9R M5B0H4$Q!5$9/4DTI
M("UW-2 D$]05$E-2 D$1%0E5’2 D%!(04)/4%132 M22X0UA81DQ!
M1U,@/2 D*$-&3$%‘4RD3$1&3$%'4R ]("U6)"A03$%41D]232D@+4)S=&%T
M:6,@)"A$14)51RD@+6P@<&AE>&QI8B D$%“3$E"2 D%!(04)/4%130I3
M1$9,04=3(#T@+58D%!,051&3U)-2 @(" @(" @(" D$1%0E5’2 M;"!P
M:&5X;&EB(“0H04),24(I(“0H4$A!0D]05%,I”@I64$%42” ](“XN”@HC"B,@
M07!P;&EC871I;VX@4’)O9W)A;0HC"@IS:’(Z"20H04)/0DHI(“0H35E/0DHI
M”@D))"A,1"D@+6<@)"A!0D]"2BD@)"A-64]"2BD@)"A31$9,04=32 M32 M
M;R!U=&QA”@D)=7-E;7-G(‘5T;&$@+BXO57-E;7-G"@D)<&AA8F)I;F0@=71L
M82 D*$%"34]$0H87!P.@DD*$%"3T)*2 D$U93T)0H)"20H3$0I("UG
M("0H04)/0DHI("0H35E/0DHI("0H3$1&3$%'4RD@+4T@+6@=71L80H)"75S
M96US9R!U=&QA("XN+U5S96US9PH)"7!H86)B:6YD('5T;&$@)"A!0DU/1"D
M"F-L96%N.@H)“7)M(“UF(“HN;R J+F5R<B J+FUA<”!U=&QA”@II;G-T86QL
M.@H)“2UC<” M=FYF('5T;&$@+W5S<B]P:&]T;VXO8FEN”@HC"B,@2&5A9&5R
M<PHC"@HD$%"3T)*2 D$U93T)*3H))"A-64A$4BD"B,(R!0<F]T;W1Y
M<&4@1V5N97)A=&EO;@HC"@IP<F]T;SH"0EA<’!R;W1O("UP("0H04)34D,I
4("0H35E34D,I(#X@<’)O=&\N: H
end