root@sbcs.UUCP (Root) (08/26/87)
What follows is a quickie demo of task tc_launch & tc_switch. The program was written using the Sun 68010 compiler, so it may require some modifications before it will work for Manx or Lattice.. Rick Spanbauer SUNY/Stony Brook ------------------------------------------------------------------- /* ** Print launch and switch entries. */ #include <exec/types.h> #include <exec/tasks.h> #include <libraries/dos.h> int launch_cnt = 0; int switch_cnt = 0; /* ** launch & switch are called on task switch. Both functions just ** increment a counter. Manx'ers may have to setup a4 at the indicated ** points. */ VOID launch_func() { /* Manx: setup a4 */ launch_cnt++; } VOID switch_func() { /* Manx: setup a4 */ switch_cnt++; } main() { struct Task *me, *FindTask(); me = FindTask(0); me->tc_Switch = switch_func; me->tc_Launch = launch_func; me->tc_Flags = TF_SWITCH|TF_LAUNCH; while(1){ printf("launch=%d, switch=%d\n", launch_cnt, switch_cnt); Delay(TICKS_PER_SECOND*3); } } --------------------------------------------------------------- Here's the uuencoded binary in case Manx just will not "do it": --------------------------------------------------------------- begin 644 task M #\P # ( 18 ZP /I $6"// M $CG@(!P "(\ #K")\ "\)*)Y(%@ B+ 4<G__"/X 0 +P3KD "P M+GD 3G4 $Y6 !2N0 1.7DYU3E8 %*Y "$Y>3G5.5O_\0J=A M 2T6$\M0/_\($ A? $H 0B!N__PA? #P 1B!N__P1? # XO.0 M @O.0 1(>0 QA 4(3^\ #$AX )9A / 6$]@VDYU3E;_[$C7.(!( M> A2'D P3KD 5D4$\CP O1F&$*G2'D X '3KD 3,4$\N>0 M OQ.=4*G3KD 446$\H0$JL *QG '"("P K.6 )D @*P 0Y8 J0! 52(!( MP-"N A4@"/ #A$*G+SD .$3KD 3H4$\CP XP0%4B 2, O $AM M $O.0 XQ.N0 "DA/[P ,2'D \$!5(@$C T+D .,+P!.N0 "B!0 M3R N A2@"\ +RX #"\Y #C$ZY )^$_O Q"N0 X J>0 XQ@+' M, =!^0 $$(, $" !F"E*-$!5(@#X 9N1"'4I'9R)2N0 X!@ E*-$!5( M@$'Y 00@P 0 &;L#!4 (&S00A5"IR Y #@%* Y8 O $ZY $Z%!/ M(\ .(?@ J>0 XQ@-%*-$!5(@$'Y 00@P 0 &;L< P!^6 ('D M .((8T( $A53KD HP6$]2@-O 4D=P # 'L+D . 9<)P # 'Y8 @>0 M XA"L @ 3KD 20('D F(( @>0 "8Q?( 1.N0 !+P@>0 "8A M0 &('D F,7R 0 *3KD 2\('D F(4 #"!Y )C%\@ $ $'X! M(\< ,$+SD .(+SD . 8 RDAL %Q.N0 !9!83TAL %Q.N0 !5!8 M3R/ #D"!Y #D$JH "1G%"!Y #D"!H "0O$$ZY $5%A/('D .0 M2J@ (&=V2'@#[2!Y #D"\H "!.N0 !*!03R!Y )B" 9U8@>0 "8B M>0 "8A40 ,(GD F(V@ # &('D F,7R $('D F(GD F M,WR 0 0,6D $ *('D F(!#E@"U __P@0"EH @ I"\Y #D$*G3KD M !84$]"IV$,6$],[CB _^Q.7DYU3E;__$*N__Q@$"\N__Q.N0 "J!83U*N M__PP.0 "1(P+"N__QNXDJY *F<(('D J3I!*N0 OAG#B\Y " M^$ZY % %A/2KD .09CXO.0 X0O.0 XQ.N0 !3A03R Y #@%* MY8 O "\Y #B$ZY %.%!/+RX "$ZY $?%A/3EY.=4ZY %*"\Y # MD$ZY %?%A/("\ ""YY "_$YU O#B(O @L>0 O1.KO^"+%].=2\. M(B\ ""QY "]$ZN_SHL7TYU+PXB+P (+'D +T3J[_<"Q?3G4O#BQY " M]$ZN_\HL7TYU2.<@ DSO 8 #"QY "]$ZN_^),WT $3G4 "\.+'D +T M3J[_Q"Q?3G5(YP$&+B\ $"IO !0L>0 O!.KO^43-]@@$YU+PY,[P # @L M>0 O!.KO\Z+%].=0 +PXB;P (+'D +P3J[^8BQ?3G4O#B)O @L>0 M O!.KO[:+%].=2\.+'D +P3J[_?"Q?3G4O#B)O @@+P ,+'D +P3J[_ M+BQ?3G4O#B!O @L>0 O!.KOZ,+%].=2\.(F\ "" O PL>0 O!.KOW8 M+%].=2\.(F\ ""QY "\$ZN_H8L7TYU+PX@;P (+'D +P3J[^@"Q?3G5. M5@ 2&X #"\N A(>0 "2!.N0 !CI/[P ,3EY.=4Y6__A(UR" *FX $ RN M ! 49P1*K@ ,(&X ""X00JX %$JN QL$$2N Q*AVP(1(=R 2U! !0@ M!R(N Q.N0 "Y!!^0 40;, @ ( <B+@ ,3KD LH+@!FVDJN !1G!!L\ M "T@#4SN((#_^$Y>3G5.5O\(2-<P@"IN @H;@ ,0J[_^"UN !#__& JYR M);Z!9@ "DD(N_R)^ 2U'__1^("U'__ M? )Q#_[! <2(!(P"X <BVP@68, M0J[_]! <2(!(P"X <C"^@68,+4'_\! <2(!(P"X <BJ^@686(&[__"U0_^A8 MKO_\$!Q(@$C +@!@,D*N_^A@'B N_^C0@"( Y8'0@="'?C"0ARU _^@0'$B M2, N $'Y 00@P )X &;4<BZ^@696$!Q(@$C +@!R*K"!9A8@;O_\+5#_ M[%BN__P0'$B 2, N & R0J[_[& >("[_[-" (@#E@="!T(=^,)"'+4#_[! < M2(!(P"X 0?D !!"# G@ 9M1R!"U!_^1R;+Z!9A 0'$B 2, N '($+4'_ MY& .<FB^@68($!Q(@$C +@ @!W)CL(%G=')DL(%G)G)OL(%G%')SL(%G1')U ML(%G#')XL(%G"F!>?@A@"GX*8 9^$& "?O8M1__@+R[_Y$AN_R(O!R\N__QA M /X"3^\ $"U _]P@+O_DT:[__& R(&[__%BN__PM4/_<+R[_W$ZY *,%A/ M+4#_Y& @(&[__"X06*[__$'N_R$M2/_<$(=![O\BD>[_W"U(_^0@+O_DL*[_ M[&\&+6[_[/_D2J[_]&=@(&[_W P0 "UG!@P0 "MF0@RN ,/_P9CA3KO_H M(&[_W%*N_]P0$$B 2, O $Z56$]^_["'9AIP_V *XO+O_P3I583W[_L(=G M "&4J[_^" N_^A3KO_HL*[_Y&[>0J[_X& H("[_X+"N_^QL)B!N_]Q2KO_< M$!!(@$C +P!.E5A/?O^PAV=(4J[_X"!N_]Q*$&;0("[_X-&N__A*KO_T9C8@ M+O_H4Z[_Z+"N_^1O*$AX "!.E5A/?O^PAV<24J[_^&#>+P=.E5A/?O^PAV8$ M</]@%%*N__@0'$B 2, N &8 _4H@+O_X3.XP@/\(3EY.=0 3E8 $AY ! M;"\N A.N0 #5Q03TY>3G4 $Y6__PNC2I\ !6$IM !!F%D*M 1"K0 ( M<O\J@2 -*F[__$Y>3G5+[0 4N_P +H9=AP &#H3E;_^"Z-*FX "$AX! !. MN0 #/183RU __QF*$HM !)M4@PM !0 $FQ*$"T $DB 2, &@ Y0K0 ( M<@$K00 ,8# K? ! # !M @ $"MN__P "! M !)(@$C +P!.N0 "G!8 M3TJ 9P8 ;0" ! J;O_X3EY.=3 \?_]@ &,"\ #B!O 1*&&8 __R0_ ! M(F\ " 1 $0V5?(__Q"(" O 1.=2!O 0@"")O @0V6;\3G4@;P $( A* M&&;\D< @" 2 4YU !,[P, 0@""(O Q@ $$-E7R?_\!D$ 6 M 1"&%')__Q.=0 3E8 " N C0@"( TH'0@2!Y )B\P" !.N0 "Q18 M3W( 2H!6P40!( %.7DYU3E;_^$C7(( N+@ (*D?;S2(-TH';P=OY )DJ' M;1 P.0 "1(P+Z ; 1*E68,?@,CQP P!P_V 8,"T ! @ ]F"B\53KD M L 6$]"E7 3.X@@/_X3EY.=0 +PXB+P (+'D +T3J[_W"Q?3G4O#B(O M @L>0 O1.KO\H+%].=4Y6 !(YS@ )@ H 0R! $ &P82$ "@ __^ MP30 , . P4A , )(0& RXH#B@0* ?____P*!?____PR! $ &SH@,$"@ M__\D "($3KD OTMH!L E."( ),WP <3EY.=0 3E8 $CG, D R! $ M &P !1"0$A @,$P H#!0D!(0& #@F >* XH$"@'____\"@7____\,@0 ! M !L /_H@,$"@ __\B TZY +]+2 ; *0@Y""1(!,WP ,3EY.=4Y6 !( MYS ) F 4* , + PS("2$+$PTA#PL/2@DA!0D'0@4S? Q.7DYU3E;_^$C7 M, J>0 ZA@%BA5("T !%" +P!(54ZY %.%!/*DPB#6;F0KD .H3.XP M /_X3EY.=4Y6__PNC2/\ ,( "I"IR N A0@"\ 3KD 3H4$\J0$J M9@1P & 8*KD .H*VX " $(\T .H0>T "" (*F[__$Y>3G5.5O_X2-<P M )G,*FX "%&-( T( 9BHO+@ ,89983RA (@QG'"\M 1(5"\N A.N0 M$/I/[P ,+RX "&$@6$\@#$SN, #_^$Y>3G5.5@ +RX "&$ _UQ83TY>3G5. M5O_X2-<P )G,*GD .H8 X@+@ (48"[P&<,*$TJ52(-9NYP_V B(@QG!"B5 M8 8CU0 Z@@+0 $4( O $A53KD 4X4$]P $SN, #_^$Y>3G4 $Y6__PN MARXN @O+@ ,+P=.N0 #:!03W(*OH%F'B!N PP* 0 H " 9PY(>/__ M+PA.N0 #GA03RXN__Q.7DYU3E;__"Z-*FX #%.5;!)P ! N LO $A580 MOE!/8! @;0 $$*X "W $!!2K0 $*F[__$Y>3G5.5O_\+HTJ? 5@@37(4 MV\%(4&$26$^[_ NAE["IN__Q.7DYU3E;_^$C7(( J;@ (?@ B#68$</]@ M6$IM !!G0# M ! ( *9PQ(>/__2%5A2E!/+@ 0+0 22(!(P"\ 3KD J@ M6$^.@# M ! ( )9PPO+0 (3KD T&6$]"K0 $0JT "'+_*H%";0 0( =, M[B" __A.7DYU3E;_]$C7(( J;@ ((_P W8 "[# M ! ( %9P9P_V M -@P+0 0" "F<Z+BT !)ZM @O!R\M @0+0 22(!(P"\ 3KD ^ 3^\ M#+"'9Q0 ;0 @ !!"K0 $?O\JAW#_8 E RN_____P ,9A(";?O_ !!"K0 $ M?O\JAW 8'9*K0 (9A1(54ZY )=%A/2JT "&8$< !@7 RM 0 ,9BX= M;@ /__](> !2&[__Q M !)(@$C +P!.N0 #X!/[P ,?@&PAV:$("X #& D M*VT " $("T #%. *H ;00 ! @;0 $$*X #W $!!2K0 $3.X@@/_T3EY. M=0 3E;_]$C7(, N+@ (3KD ! 0*D?;S2(-TH';P=OY )DJ';1 P.0 M "1(P+Z ; 1*E68,?@,CQP P!P_V!$,"T !'X#P(=F#'X&(\< , </]@ M+B\N ! O+@ ,+Q5.N0 $*!/[P ,+ !^_["'9A!.N0 $) CP P!P_V " M( 9,[B# __1.7DYU3E;__$AX$ !"ITZY 0O%!/+4#__ @ QF!' 8#9* MN0 P1F!B N__Q@*$AX 1(>0 NA.N0 !+PO $ZY 0H$_O Q(> ! M3KD !!L6$].7DYU !.5@ 2KD +L9P@@>0 NQ.D"\N A.N0 YY8 M3TY>3G4O#BQY "]$ZN_WPL7TYU2.<P DSO X $"QY "]$ZN_]!,WT , M3G4 "\.3.\ P (+'D +P3J[^SBQ?3G4 $Y6__A(UR" *FX ""XN Q@ M D(=( =3ATJ 9O9,[B" __A.7DYU3E;_\$C7,, J;@ (*&X #"XN ! @# @ M !F." -" &8P( =L!'P/T(;H@"P 8! XW3C=.-TXW3C=.-TXW3C=4<[_ M[D)&4X9DYGP/SH9@ AC=( =3ATJ 9O9,[C# __!.7DYU #[ #P M +@ &P !X Q -P #N !*@ 4H %H !@@ >X M (L "5@ G *, "Q M +V #& X@ .N #Y@ M! ( 0< $* !#0 1 %L@ !;@ 8& &' !^@ DP ) MA "=@ J, *Z@ "WH O> ,/@ #&( QV ,V #4@ UN M -D@ #CX Y6 .A@ #L( \( // #XX _D /]@ $!P M !!* 04@ $& !"& =@ $ " #@ !0 H - M $( !0 B@ ) "6 O@ ,P #D !' 20 $R ! M1 50 %@ !? 8P &2 !G@ ;P '* !X@ ?8 '^ M "# B (^ "3 EP )D "=@ H *2 "G JH M *P "M@ M@ +> "Z@ OX ,. #( RH ,P #.@ M T8 -2 #6 VH . #N@ \@ /0 #V ^ /N # M]@ _P 0* $%@ !#H 1, $7 !' 2$ $E !*P 3 M $V@ !/( 4( %' !2P 5$ %6 !7 6$ %F !@P M ;F '0@ "28 E$ ):@ ":@ J" *N "L( K4 +" M"QP PJ ,3 #&8 R( ,E #1( TX -X #?( Z* / MG@ #Z@ ^Z /T #_P ! R 01 $'( !!Z 0E $*P !#& M _( /J O &QA=6YC:#TE9"P@<W=I=&-H M/25D"@ 4 #" &1O<RYL:6)R87)Y " (" @(" @(" @ M,# P,# @(" @(" @(" @(" @(" @(""00$! 0$! 0$! 0$! 0$! # P,# P, M# P,#$! 0$! 0$ )"0D)"0D! 0$! 0$! 0$! 0$! 0$! 0$! 4! 0$! 0 H* M"@H*"@(" @(" @(" @(" @(" @(" @("0$! 0" M M M # Q,C,T-38W.#EA8F-D968 M 0$ ! 0 ! M $! ( M M M M M M M %Y#"@ G #[ $ ! )@ /R #ZP /R end