delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/1998/06/15/06:35:13

From: sos AT prospect DOT com DOT ru (Sergey Okhapkin)
Subject: Select() on files.
15 Jun 1998 06:35:13 -0700 :
Message-ID: <01BD987D.2698BD40.cygnus.cygwin32.developers@sos>
To: "'cygwin32-developers AT cygnus DOT com'" <cygwin32-developers AT cygnus DOT com>

fhandler.h	(fhandler_disk_file): disk file is not always read ready.

select.cc	(class fd_disk_file_map, fd_disk_file_map::convert_to_unix_fdset): new class
		to implement select on disk files.
		(pipethread): watch for files changes too.
		(cygwin32_select): misc changes to support polling select on disk files.

 

-- 
Sergey Okhapkin, http://www.lexa.ru/sos
Moscow, Russia


begin 600 file_select.diff
M9&EF9B M=7!R("]W:6YS=7 O9FAA;F1L97(N:"!W:6YS=7 O9FAA;F1L97(N
M: HM+2T@+W=I;G-U<"]F:&%N9&QE<BYH"5=E9"!*=6X@,#,@,3$Z-34Z,#,@
M,3DY. HK*RL@=VEN<W5P+V9H86YD;&5R+F@)4W5N($IU;B Q-" Q,SHQ,#HS
M-R Q.3DX"D! ("TR,38L-B K,C$V+#<@0$ @<'5B;&EC DOT  AT H@"B @('9I<G1U
M86P AT 9FAA;F1L97)?8F%S92 J;W!E;B H8V]N<W0 AT 8VAA<B J<&%T:"P@:6YT
M(&9L86=S+"!M;V1E7W0@;6]D92 ](# I.PH@("!V:7)T=6%L(&EN="!L;V-K
M("AI;G0L('-T<G5C="!F;&]C:R J*3L**R @=FER='5A;"!C;VYS="!I;G0@
M86QW87ES7W)E861?<F5A9'D@*'9O:60I('L@<F5T=7)N(# [('T AT  DOT PH@?3L*
M( H AT 8VQA<W,@9FAA;F1L97)?<V5R:6%L.B!P=6)L:6,@9FAA;F1L97)?8F%S
M90ID:69F("UU<'(@+W=I;G-U<"]S96QE8W0N8V,@=VEN<W5P+W-E;&5C="YC
M8PHM+2T@+W=I;G-U<"]S96QE8W0N8V,)36]N($IU;B P,2 R,CHR,3HQ-B Q
M.3DX"BLK*R!W:6YS=7 O<V5L96-T+F-C"5-U;B!*=6X@,30@,3,Z-38Z,3D@
M,3DY. I 0" M-38V+#8@*S4V-BPT-"! 0"!I;G0 AT 9F1?=VEN9&]W<U]M87 Z
M.F-O;G9E<G1?=&]?=6YI>%]F9'-E"B!]"B *("\J"BL@*B!#;&%S<R!T;R!D
M96%L('=I=&@@9&ES:R!F:6QE<RX**R J+PHK"BMC;&%S<R!F9%]D:7-K7V9I
M;&5?;6%P(#H@<'5B;&EC(&9D7W-E=%]M87 **WL**R @<'5B;&EC DOT  AT HK(" @
M(&9D7V1I<VM?9FEL95]M87 @*&EN="!S:7IE*2 Z(&9D7W-E=%]M87 @*'-I
M>F4I('L@?0HK(" @('9I<G1U86P@:6YT(&-O;G9E<G1?=&]?=6YI>%]F9'-E
M=" H=6YI>%]F9%]S970@*G5N:7A?<V5T*3L**WT["BL**VEN="!F9%]D:7-K
M7V9I;&5?;6%P.CIC;VYV97)T7W1O7W5N:7A?9F1S970@*'5N:7A?9F1?<V5T
M("IU;FEX7W-E="D**WL**R @:6YT(&D["BL@(&EN="!R970@/2 P.PHK"BL@
M(&EF("AU;FEX7W-E=" ]/2 P*0HK(" @(')E='5R;B P.PHK"BL@(&9O<B H
M:2 ](# [(&D@/"!U<V5D7SL@:2LK*0HK(" @('L**R @(" @($173U)$(&9I
M;&5S:7IE+"!P;W-I=&EO;CL**PHK(" @(" @9FEL97-I>F4@/2!'971&:6QE
M4VEZ92 H9V5T7VAA;F1L92 H:2DL($Y53$PI.PHK(" @(" @<&]S:71I;VX@
M/2!3971&:6QE4&]I;G1E<B H9V5T7VAA;F1L92 H:2DL(# L($Y53$PL($9)
M3$5?0U524D5.5"D["BL@(" @("!I9B H9FEL97-I>F4@/B!P;W-I=&EO;BD*
M*R @(" @(" @>PHK(" @(" @(" @(%5.25A?1D1?4T54("AG971?9F0@*&DI
M+"!U;FEX7W-E="D["BL@(" @(" @(" @*RMR970["BL)?0HK(" @(" @96QS
M90HK"7L**R @(" @(" @("!53DE87T9$7T-,4B H9V5T7V9D("AI*2P@=6YI
M>%]S970I.PHK(" @(" @("!]"BL@(" @?0HK("!R971U<FX@<F5T.PHK?0HK
M"BLO*@H@("H AT 075T;R!D96QE=&4 AT 8VQA<W,@9F]R(&-R96%T960 AT 9F1?<V5T
M7VUA<"!C;&%S<V5S+@H@("HO"B *0$ @+38P,"PY("LV,S AT L,3(@0$ @<W1A
M=&EC(&9D7W-O8VME=%]M87 @*G)E861?<V]C:V5T7VUA<#L*('-T871I8R!F
M9%]S;V-K971?;6%P("IW<FET95]S;V-K971?;6%P.PH@<W1A=&EC(&9D7W-O
M8VME=%]M87 @*F5X8V5P=%]S;V-K971?;6%P.PH@<W1A=&EC(&9D7W!I<&5?
M;6%P("IR96%D7W!I<&5?;6%P.PHK<W1A=&EC(&9D7V1I<VM?9FEL95]M87 @
M*G)E861?9&ES:U]F:6QE7VUA<#L*( H@<W1A=&EC(&EN="!V;VQA=&EL92!S
M=&]P7W!I<&5?=&AR96%D.PHM:6YT(&YU;6)E<E]O9E]R96%D7W!I<&5S.PHK
M<W1A=&EC(&EN="!N=6UB97)?;V9?<F5A9%]P:7!E<SL**W-T871I8R!I;G0@
M;G5M8F5R7V]F7W)E861?9FEL97,["BL*($A!3D1,12!P:7!E7W-E;&5C=#L*
M($A!3D1,12!P:7!E7V1O;F4["B!(04Y$3$4 AT 3D]?0T]062!P=&@@/2!.54Q,
M.PI 0" M-C(U+#8@*S8V-BPQ-R! 0"!P:7!E=&AR96%D("A$5T]21" J87)G
M*0H@"2 @(" @(&EF("AS=&]P7W!I<&5?=&AR96%D('Q\(&X@?'P@(7-U8V-E
M<W,I"B )"6=O=&\@9&]N93L*( D@(" @?0HK(" @(" @(" @(&9O<B H:6YT
M(&D@/2 P.R!I(#P@;G5M8F5R7V]F7W)E861?9FEL97,[(&DK*RD**PD@(" @
M>PHK"2 @(" @($173U)$(&9I;&5S:7IE+"!P;W-I=&EO;CL**PHK"2 @(" @
M(&9I;&5S:7IE(#T AT 1V5T1FEL95-I>F4@* HK"0D)<F5A9%]D:7-K7V9I;&5?
M;6%P+3YG971?:&%N9&QE7V%R<F%Y("@I(%MI72P AT 3E5,3"D["BL)(" @(" @
M<&]S:71I;VX@/2!3971&:6QE4&]I;G1E<B H"BL)"0ER96%D7V1I<VM?9FEL
M95]M87 M/F=E=%]H86YD;&5?87)R87D@*"D AT 6VE=+" P+"!.54Q,+"!&24Q%
M7T-54E)%3E0I.PHK"2 @(" @(&EF("AF:6QE<VEZ92 ^('!O<VET:6]N*0HK
M"0EG;W1O(&1O;F4["BL)(" @('T*(" @(" @(" @("!3;&5E<" H,3 I.PH@
M"7T*(&1O;F4Z"D! ("TW DOT 3 AT L-B K.#4P+#<@0$ @8WEG=VEN,S)?<V5L96-T
M("AI;G0@;BP AT 9F1?<V5T("IR96%D9F1S+ H@("!I;G0@;G5M8F5R7V]F7V5X
M8V5P=%]A;'=A>7-?<F5A9'D@/2 P.PH@"B @(&YU;6)E<E]O9E]R96%D7W!I
M<&5S(#T@,#L**R @;G5M8F5R7V]F7W)E861?9FEL97,@/2 P.PH@("!I;G0@
M;G5M8F5R7V]F7W)E861?=VEN9&]W<R ](# ["B *(" @+RH AT 0W)E871E('1H
M92!F9%]S971?;6%P<R!F;W(@=&AE(')E860O=W)I=&4O97AC97!T('-O8VME
M=',L"D! ("TX,3DL-B K.#<R+#<@0$ @8WEG=VEN,S)?<V5L96-T("AI;G0@
M;BP AT 9F1?<V5T("IR96%D9F1S+ H@("!F9%]R96%D7V-O;G-O;&5?;6%P("IR
M96%D7V-O;G-O;&5?;6%P(#T@;F5W(&9D7W)E861?8V]N<V]L95]M87 *(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @("AT;W1A;%]R96%D7VYU;6)E<BD["B @(')E861?<&EP95]M87 @
M/2!N97<@9F1?<&EP95]M87 @*'1O=&%L7W)E861?;G5M8F5R*3L**R @<F5A
M9%]D:7-K7V9I;&5?;6%P(#T@;F5W(&9D7V1I<VM?9FEL95]M87 @*'1O=&%L
M7W)E861?;G5M8F5R*3L*( H@("!F9%]S971?;6%P("IR96%D7VAA;F1L95]M
M87 @/2!N97<@9F1?:&%N9&QE<E]M87 @*'1O=&%L7W)E861?;G5M8F5R*3L*
M(" @9F1?<V5T7VUA<" J=W)I=&5?:&%N9&QE7VUA<" ](&YE=R!F9%]H86YD
M;&5R7VUA<" H=&]T86Q?=W)I=&5?;G5M8F5R*3L*0$ @+3 AT S."PW("LX.3(L
M."! 0"!C>6=W:6XS,E]S96QE8W0@*&EN="!N+"!F9%]S970@*G)E861F9',L
M"B @(" @("!W<FET95]H86YD;&5?;6%P(#T](# @?'P AT 97AC97!T7VAA;F1L
M95]M87 @/3T@,"!\? H@(" @(" @<F5A9%]A;'=A>7-?;6%P(#T](# @?'P@
M=W)I=&5?86QW87ES7VUA<" ]/2 P('Q\"B @(" @("!E>&-E<'1?86QW87ES
M7VUA<" ]/2 P('Q\(')E861?8V]N<V]L95]M87 @/3T@,"!\? HM(" @(" @
M<F5A9%]P:7!E7VUA<" ]/2 P('Q\(')E861?=VEN9&]W<U]M87 @/3T@,"D*
M*R @(" @(')E861?<&EP95]M87 @/3T@,"!\?"!R96%D7W=I;F1O=W-?;6%P
M(#T](# @?'P**R @(" @(')E861?9&ES:U]F:6QE7VUA<" ]/2 P*0H@(" @
M('L*(" @(" @('-E=%]E<G)N;R H14Y/345-*3L*(" @(" @(')E='5R;B M
M,3L*0$ @+3 AT T-BPW("LY,#$L-R! 0"!C>6=W:6XS,E]S96QE8W0@*&EN="!N
M+"!F9%]S970@*G)E861F9',L"B *(" @+RH AT 1DE8344Z(%=H>2!D;R!W92!N
M965D(&%N(&%U=&]?9&5L7V9D7W-E=%]M87 _("!#;W5L9&XG="!T:&ES"B @
M(" @(&AA<'!E;B!I;B!A(&9D7W-E=%]M87 @8VQA<W,@9&5S=')U8W1O<C\@
M*B\*+2 @875T;U]D96Q?9F1?<V5T7VUA<"!A9&T@*#$R*3L**R @875T;U]D
M96Q?9F1?<V5T7VUA<"!A9&T@*#$S*3L*(" @:68@*"%A9&TN;VL@*"DI"B @
M(" @>PH@(" @(" @<V5T7V5R<FYO("A%3D]-14TI.PI 0" M.#8T+#8@*SDQ
M.2PW($! (&-Y9W=I;C,R7W-E;&5C=" H:6YT(&XL(&9D7W-E=" J<F5A9&9D
M<RP*(" @861M+F%D9" H=W)I=&5?86QW87ES7VUA<"D["B @(&%D;2YA9&0@
M*&5X8V5P=%]A;'=A>7-?;6%P*3L*(" @861M+F%D9" H<F5A9%]W:6YD;W=S
M7VUA<"D["BL@(&%D;2YA9&0@*')E861?9&ES:U]F:6QE7VUA<"D["B *(" @
M:&EN9F]?=F5C("IH=F5C(#T@)FUY<V5L9BT^:&UA<#L*( I 0" M.3$X+#8@
M*SDW-"PQ,R! 0"!C>6=W:6XS,E]S96QE8W0@*&EN="!N+"!F9%]S970@*G)E
M861F9',L"B @(" @(" @(" @(" @(" @(" K*VYU;6)E<E]O9E]R96%D7W!I
M<&5S.PH@(" @(" @(" @(" @(" @(" @<V5L96-T7W!R:6YT9B H(F%D9&5D
M(&9D("5D('1O('!I<&5?<F5A9%QN(BP@:2D["B @(" @(" @(" @(" @(" @
M?0HK(" @(" @(" @(" @("!E;'-E(&EF("A'971&:6QE5'EP92 H9F)P+3YG
M971?:&%N9&QE("@I*2 ]/2!&24Q%7U194$5?1$E32RD**R @(" @(" @(" @
M(" @("!["BL@(" @(" @(" @(" @(" @("!I9B H<F5A9%]D:7-K7V9I;&5?
M;6%P+3YA9&0@*&DL(# I*0HK(" @(" @(" @(" @(" @(" @("!R971U<FX@
M+3$["BL@(" @(" @(" @(" @(" @(" K*VYU;6)E<E]O9E]R96%D7V9I;&5S
M.PHK(" @(" @(" @(" @(" @(" @<V5L96-T7W!R:6YT9B H(F%D9&5D(&9D
M("5D('1O(&1I<VM?9FEL95]R96%D7&XB+"!I*3L**R @(" @(" @(" @(" @
M("!]"B @(" @(" @(" @(" @(&5L<V4@:68@*&9B<"T^:7-?=VEN9&]W<R H
M*2D*(" @(" @(" @(" @(" @("!["B @(" @(" @(" @(" @(" @("!I9B H
M<F5A9%]W:6YD;W=S7VUA<"T^861D("AI+" P*2D*0$ @+3$P,34L-B K,3 W
M."PW($! (&-Y9W=I;C,R7W-E;&5C=" H:6YT(&XL(&9D7W-E=" J<F5A9&9D
M<RP*(" @(" @(" @(" @(" @(" @(" @(" @(" @("AN=6UB97)?;V9?=W)I
M=&5?86QW87ES7W)E861Y("$](# I('Q\"B @(" @(" @(" @(" @(" @(" @
M(" @(" @(" H;G5M8F5R7V]F7V5X8V5P=%]A;'=A>7-?<F5A9'D@(3T@,"DI
M.PH@("!I;G0@=VEN9&]W<U]U<V5D(#T@*&YU;6)E<E]O9E]R96%D7W=I;F1O
M=W,@(3T@,"D["BL@(&EN="!F:6QE<U]U<V5D(#T@*&YU;6)E<E]O9E]R96%D
M7V9I;&5S("$](# I.PH@"B @("\J"B @(" J($9I<G-T(&-A<V4N("!)9B!A
M;GD@;V8@=&AE(&%L=V%Y<U]R96%D>2!F9"=S(&%R92!S970@=&AE;@I 0" M
M,3 W-2PV("LQ,3,Y+#<@0$ @8WEG=VEN,S)?<V5L96-T("AI;G0@;BP AT 9F1?
M<V5T("IR96%D9F1S+ H@(" @(" @;7ER970@*ST AT 97AC97!T7V%L=V%Y<U]M
M87 M/F-O;G9E<G1?=&]?=6YI>%]F9'-E=" H97AC97!T9F1S*3L*( H@(" @
M(" @;7ER970@*ST@<F5A9%]W:6YD;W=S7VUA<"T^8V]N=F5R=%]T;U]U;FEX
M7V9D<V5T("AR96%D9F1S*3L**R @(" @(&UY<F5T("L](')E861?9&ES:U]F
M:6QE7VUA<"T^8V]N=F5R=%]T;U]U;FEX7V9D<V5T("AR96%D9F1S*3L*( H@
M(" @(" @<F5T=7)N(&UY<F5T.PH@(" @('T*0$ @+3$P.#4L-R K,3$U,"PW
M($! (&-Y9W=I;C,R7W-E;&5C=" H:6YT(&XL(&9D7W-E=" J<F5A9&9D<RP*
M(" @("HO"B *(" @:68@*'-O8VME=%]U<V5D("$],"!\?"!H86YD;&5?=7-E
M9" A/2 P('Q\(&-O;G-O;&5?=7-E9" A/2 P('Q\"BT@(" @(" @<&EP95]U
M<V5D("$](# @?'P@=VEN9&]W<U]U<V5D("$](# I"BL@(" @(" @<&EP95]U
M<V5D("$](# @?'P@=VEN9&]W<U]U<V5D("$](# @?'P AT 9FEL97-?=7-E9" A
M/2 P*0H@(" @('L*(" @(" @("\J"B @(" @(" @*B!#;&5A<B!O=70@=&AE
M(&1E<V-R:7!T;W(@<V5T<R!I;B!C87-E('=E"D! ("TQ,3(Q+#<@*S$Q.#8L
M-R! 0"!C>6=W:6XS,E]S96QE8W0@*&EN="!N+"!F9%]S970@*G)E861F9',L
M"B @(" @(" O*B!4:&4@*S$@:7,@=&AE(&5X=')A(&AA;F1L92!U<V5D('1O
M('=A:70 AT 9F]R('-I9VYA;"!A<G)I=F%L("HO"B @(" @("!I;G0@;G5M7VAA
M;F1L97,@/2!N=6UB97)?;V9?<F5A9%]H86YD;&5S("L@;G5M8F5R7V]F7W=R
M:71E7VAA;F1L97,@*PH@(" @(" @(" @(" @(" @(" @(" @(" @;G5M8F5R
M7V]F7V5X8V5P=%]H86YD;&5S("L@;G5M8F5R7V]F7W)E861?8V]N<V]L97,@
M*PHM"0D)"0ES;V-K971?=7-E9" K('!I<&5?=7-E9" K(#$["BL)"0ES;V-K
M971?=7-E9" K("AP:7!E7W5S960@?'P AT 9FEL97-?=7-E9"D@*R Q.PH@"B @
M(" @("!I9B H;G5M7VAA;F1L97,@/B!-05A)355-7U=!251?3T)*14-44RD*
M(" @(" @(" @>PI 0" M,3$U-RPW("LQ,C(R+#<@0$ @8WEG=VEN,S)?<V5L
M96-T("AI;G0@;BP AT 9F1?<V5T("IR96%D9F1S+ H@(" @(" @(" @(" @(" @
M(" @(&YU;6)E<E]O9E]E>&-E<'1?:&%N9&QE<R J('-I>F5O9B H2$%.1$Q%
M*2D["B *(" @(" @("\J($9)6$U%.B!T:&ES(&QO;VMS(&EN969F:6-I96YT
M+B @1&\@=V4@<F5A;&QY(&YE960@='=O(&5V96YT<S\@*B\*+2 @(" @(&EF
M("AP:7!E7W5S960I"BL@(" @("!I9B H<&EP95]U<V5D('Q\(&9I;&5S7W5S
M960I"B @(" @(" @('L*(" @(" @(" @("!$5T]21"!P=&ED.PH@"D! ("TQ
M,C4Q+#$T("LQ,S$V+#$T($! (&-Y9W=I;C,R7W-E;&5C=" H:6YT(&XL(&9D
M7W-E=" J<F5A9&9D<RP*(" @(" @(" @(" @(" @<F5T=7)N("TQ.PH@"2 @
M("!]"B @(" @(" @(" @:&%R<F%Y6VYU;6)E<E]O9E]R96%D7V-O;G-O;&5S
M("L@;G5M8F5R7V]F7W)E861?:&%N9&QE<R K"BT)(" @(" @;G5M8F5R7V]F
M7W=R:71E7VAA;F1L97,@*R!N=6UB97)?;V9?97AC97!T7VAA;F1L97,@*PHM
M"0D)"0EP:7!E7W5S961=(#T@<V5L96-T7V1O;F4["BL)"6YU;6)E<E]O9E]W
M<FET95]H86YD;&5S("L@;G5M8F5R7V]F7V5X8V5P=%]H86YD;&5S("L**PD)
M*'!I<&5?=7-E9"!\?"!F:6QE<U]U<V5D*5T@/2!S96QE8W1?9&]N93L*( D@
M(%-E=$5V96YT("AS=&%R=%]S96QE8W0I.PH@(" @(" @("!]"B *(" @(" @
M(&AA<G)A>5MN=6UB97)?;V9?<F5A9%]C;VYS;VQE<R K(&YU;6)E<E]O9E]R
M96%D7VAA;F1L97,@*PHM"2 @;G5M8F5R7V]F7W=R:71E7VAA;F1L97,@*R!N
M=6UB97)?;V9?97AC97!T7VAA;F1L97,@*PHM"0D)<V]C:V5T7W5S960@*R!P
M:7!E7W5S961=(#T@<VEG;F%L7V%R<FEV960["BL)"6YU;6)E<E]O9E]W<FET
M95]H86YD;&5S("L@;G5M8F5R7V]F7V5X8V5P=%]H86YD;&5S("L**PD)<V]C
M:V5T7W5S960@*R H<&EP95]U<V5D('Q\(&9I;&5S7W5S960I72 ]('-I9VYA
M;%]A<G)I=F5D.PH@(" @(" @:&%R<F%Y6VYU;5]H86YD;&5S72 ]($Y53$P[
M"B *(" @(" @($173U)$('=A:71T:6UE.PI 0" M,3(Y-BPW("LQ,S8Q+#<@
M0$ @=V%I=%]A9V%I;CH*(" @(" @(" @("!D96QE=&4 AT 6UT@:&%R<F%Y.PH@
M"B )("!C;&5A;G5P7W-O8VMT:')E860@*'-O8VME=%]U<V5D*3L*+0D@(&-L
M96%N=7!?<&EP971H<F5A9" H<&EP95]U<V5D*3L**PD@(&-L96%N=7!?<&EP
M971H<F5A9" H<&EP95]U<V5D('Q\(&9I;&5S7W5S960I.PH@"B )("!S96QE
M8W1?<')I;G1F("@B=V%I="!F86EL961<;B(I.PH@(" @(" @(" @(')E='5R
M;B M,3L*0$ @+3$S,#4L-R K,3,W,"PW($! ('=A:71?86=A:6XZ"B @(" @
M(" @(" @9&5L971E(%M=(&AA<G)A>3L*( H@"2 @8VQE86YU<%]S;V-K=&AR
M96%D("AS;V-K971?=7-E9"D["BT)("!C;&5A;G5P7W!I<&5T:')E860@*'!I
M<&5?=7-E9"D["BL)("!C;&5A;G5P7W!I<&5T:')E860@*'!I<&5?=7-E9"!\
M?"!F:6QE<U]U<V5D*3L*( H@"2 @<V5L96-T7W!R:6YT9B H(G=A:70@=&EM
M96]U=%QN(BD["B @(" @(" @(" @<F5T=7)N(# ["D! ("TQ,SDS+#<@*S$T
M-3 AT L-R! 0"!W86ET7V%G86EN DOT  AT H@(" @(" @(" @(" @("!53DE87T9$7U-%
M5" H97AC97!T7VAA;F1L95]M87 M/F=E=%]F9%]B>5]H86YD;&4@*&@I+"!E
M>&-E<'1F9',I.PH@(" @(" @(" @(" @("!E>&-E<'1?:&%N9&QE7VUA<"T^
M<F5M;W9E7W!A:7)?8GE?:&%N9&QE("AH*3L*(" @(" @(" @(" @('T*+0D@
M(&5L<V4@:68@*'!I<&5?=7-E9" F)B!W86ET7W)E=" ]/2 H;G5M8F5R7V]F
M7W)E861?8V]N<V]L97,@*PHK"2 @96QS92!I9B H*'!I<&5?=7-E9"!\?"!F
M:6QE<U]U<V5D*2 F)B!W86ET7W)E=" ]/2 H;G5M8F5R7V]F7W)E861?8V]N
M<V]L97,@*PH@"0D);G5M8F5R7V]F7W)E861?:&%N9&QE<R K(&YU;6)E<E]O
M9E]W<FET95]H86YD;&5S("L*( D)"6YU;6)E<E]O9E]E>&-E<'1?:&%N9&QE
M<RDI"B )(" @('L*0$ @+3$T,#$L,30@*S$T-C8L,30 AT 0$ @=V%I=%]A9V%I
M;CH*( D@(" @?0H@"2 @96QS92!I9B H<V]C:V5T7W5S960@)B8@=V%I=%]R
M970@/3T@*&YU;6)E<E]O9E]R96%D7V-O;G-O;&5S("L*( D)"6YU;6)E<E]O
M9E]R96%D7VAA;F1L97,@*R!N=6UB97)?;V9?=W)I=&5?:&%N9&QE<R K"BT)
M"0EN=6UB97)?;V9?97AC97!T7VAA;F1L97,@*R!P:7!E7W5S960I*0HK"0D)
M;G5M8F5R7V]F7V5X8V5P=%]H86YD;&5S("L@*'!I<&5?=7-E9"!\?"!F:6QE
M<U]U<V5D*2DI"B )(" @('L*( D@(" @("!M>7)E=" ]('-E;&5C=%]R970[
M"B )(" @(" @*"II7V-L;W-E<V]C:V5T*2 H<V]C:RD["B )(" @(" @:68@
M*&UY<F5T(#T](%-/0TM%5%]%4E)/4BD*(" @(" @(" @(" @(" @("!["B )
M(" @(" @(" @(&1E;&5T92!;72!H87)R87D["BT)"2 @:68@*'!I<&5?=7-E
M9"D**PD)("!I9B H<&EP95]U<V5D('Q\(&9I;&5S7W5S960I"B )"2 @("![
M"B )"2 @(" @('-T;W!?<&EP95]T:')E860K*SL*( D)(" @(" @5V%I=$9O
M<E-I;F=L94]B:F5C=" H<&EP95]D;VYE+"!)3D9)3DE412D["D! ("TQ-#,Q
M+#<@*S$T.38L-R! 0"!W86ET7V%G86EN DOT  AT H@"2 @(" @(" @(" @(" @5V%I
M=$9O<E-I;F=L94]B:F5C=" H<V5L96-T7V1O;F4L24Y&24Y)5$4I.PH@"0D@
M(" @("!297-E=$5V96YT("AS96QE8W1?9&]N92D["B )(" @(" @(" @(" @
M?0HM"2 @(" @(" @("!I9B H<&EP95]U<V5D*0HK"2 @(" @(" @("!I9B H
M<&EP95]U<V5D('Q\(&9I;&5S7W5S960I"B )(" @(" @(" @(" @>PH@"2 @
M(" @(" @(" @(" @<W1O<%]P:7!E7W1H<F5A9"LK.PH@"0D@(" @("!786ET
M1F]R4VEN9VQE3V)J96-T("AP:7!E7V1O;F4L($E.1DE.251%*3L*0$ @+3$T
M-3DL-R K,34R-"PW($! ('=A:71?86=A:6XZ"B )(" @(" @5V%I=$9O<E-I
M;F=L94]B:F5C=" H<V5L96-T7V1O;F4L($E.1DE.251%*3L*( D@(" @("!2
M97-E=$5V96YT("AS96QE8W1?9&]N92D["B )(" @('T*+0D@(&EF("AP:7!E
M7W5S960I"BL)("!I9B H<&EP95]U<V5D('Q\(&9I;&5S7W5S960I"B )(" @
M('L*( D@(" @("!S=&]P7W!I<&5?=&AR96%D*RL["B )(" @(" @5V%I=$9O
M<E-I;F=L94]B:F5C=" H<&EP95]D;VYE+"!)3D9)3DE412D["D! ("TQ-#<Q
M+#8@*S$U,S8L-R! 0"!W86ET7V%G86EN DOT  AT H@(" @(" @(" @(&UY<F5T("L]
M(')E861?<&EP95]M87 M/F-O;G9E<G1?=&]?=6YI>%]F9'-E=" H<F5A9&9D
M<RD["B @(" @(" @(" @;7ER970@*ST@<F5A9%]H86YD;&5?;6%P+3YC;VYV
M97)T7W1O7W5N:7A?9F1S970@*')E861F9',I.PH@(" @(" @(" @(&UY<F5T
M("L](')E861?=VEN9&]W<U]M87 M/F-O;G9E<G1?=&]?=6YI>%]F9'-E=" H
M<F5A9&9D<RD["BL@(" @(" @(" @;7ER970@*ST@<F5A9%]D:7-K7V9I;&5?
M;6%P+3YC;VYV97)T7W1O7W5N:7A?9F1S970@*')E861F9',I.PH@(" @(" @
M(" @(&UY<F5T("L]('=R:71E7VAA;F1L95]M87 M/F-O;G9E<G1?=&]?=6YI
M>%]F9'-E=" H=W)I=&5F9',I.PH@(" @(" @(" @(&UY<F5T("L](&5X8V5P
M=%]H86YD;&5?;6%P+3YC;VYV97)T7W1O7W5N:7A?9F1S970@*&5X8V5P=&9D
&<RD["B *
`
end

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019