From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id TAA26299 for caml-redistribution; Wed, 19 May 1999 19:45:38 +0200 (MET DST) Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id DAA11473 for ; Tue, 18 May 1999 03:26:25 +0200 (MET DST) Received: from zaphod.in.tu-clausthal.de (zaphod.in.tu-clausthal.de [139.174.100.142]) by nez-perce.inria.fr (8.8.7/8.8.7) with ESMTP id DAA20107 for ; Tue, 18 May 1999 03:26:24 +0200 (MET DST) Received: from eressea.in.tu-clausthal.de (3740c1be92b68@eressea.in.tu-clausthal.de [139.174.100.9]) by zaphod.in.tu-clausthal.de (8.8.7/8.8.7) with SMTP id DAA10733; Tue, 18 May 1999 03:26:22 +0200 (MET DST) From: Joerg Czeranski To: caml-list@inria.fr In-Reply-To: <5v6tgd6vv$19X$1@joerch.org> Date: Tue, 18 May 1999 03:25:45 +0200 (MET DST) Message-ID: <5v8BHE1fT$4lh$1@joerch.org> Subject: UPDATE: more patches Sender: weis Hi, my previous patch still left a lot of race conditions, and it didn't do anything to avoid signal loss - O'Caml 2.02 only queues one signal and forgets all others until a handler is called. I think these patches (to be applied on top of the previous) should fix both of the problems. It can also easily be extended to handle a per-signal sa_mask (see the sigaction man page). It requires Unix signals though. As I have neither NT nor a Mac, I couldn't test it on any non-Unix system. Testing is rather difficult anyway, as some cases only happen when multiple signals arrive at almost the same time. Therefor there are probably still a few bugs lurking there. As it's almost a complete rewrite of the signal stuff, I'll gnuzip and uuencode the patches this time. :-) These files are affected by the patches: otherlibs/unix/signals.c byterun/signals.h byterun/signals.c byterun/interp.c asmrun/fail.c asmrun/signals.c joerch begin 644 patch.03.gz M'XL(```````"`^T<:W/;-O)S_"M@MY-*-B63E&3K46#P=[AX2$)DQF+?.\J/EX&WNUQ[$T#ZL=MMQU&WO31BS`@ M+]V$V"?$-H?68&CVB348]/=:K5;M5#[K!5T1ZQ1^AB9,/,%9?$'UPPFP;`/@ M^",BQ<<^@6^M/4*.#\G7Y^,AR5`;U\1J=S@)QY9Y;"->2=8X]+TI^Y,\NUV0 MK\GA,4R'GZ^\P/678T:^95$4A.W9D[TC93!.(B^8PB@N-0DC,F=S=[$2TQ4P MOCY.+B&EOA^Z.*[;6>_4.+'SG?7ZQFDOW1DAL_"&G.'.%E'HSFG\UG'GX]_. M@\2YIG[CFKJ)%P;--R,./&9N.&8.0,,9H5@.8=L03@A=RGY0%K"?)]3)H1'9C08^P!*D),IEOVA M>9I;4&6.:CJV/>R=##OF&M/I&AVI8*B4DV#,)D1N)G9P#`:\@!7&5/T]F'LQ MJ.]!<C3Q/,9\8*$+%@P!F;+ MA>N@XG#.N/R<)'3&X4A93`4#PW092.?W,')BWW-9'3X:KP(WDR9(;"1V4X3=W-ULIQI/-Z:$X1 M^V/I16S,O22\<6@2SCW7280I?7RM*JQ)4]9ZL2-5;>.<#ZEL16(>@M8=2105 MA\=],7@SE&0.-X4!=QE%0/YF8"$VIVCSL4+=1U=XG0.&$,8?/WH%VL4=:I^8 MUM`^'79[PJ'J_*];`+<1O'/Z(4,7VRS'+G`@=#?&+GG\L7OP)T>QA9X"\,7KY\\5^/5ZJL##3N($B'2EE[AE[C*SRP;?FVK% MS3T,NS`@>1K'8..DL5]AHHP%4\DV?O"8/VZ4]F>4\!KDW^A%@Z11',]C&U*P M\7H"T0+LKF&!BF>'S@X*`BI\'ES3R*-!,B2_SE!\@BL8LWU/YSX/W`RB]4H0 M4E(_8G2\`E2$RQ9<#_%B&+ZAJU@$@G3.0/?X=PBOEZ!4KR%Q20-$Q-06T\O+ MXPQ.@AI+@F^59R$.74`LBNN!,\QEA:MRQ:H.`)- MNAI@]P+0&M^'8SB94?#XH&^@LQ>(\0HB88XFQDV`#]A'MJ8'_P4$V?@HSWQ\ M)!T;1]#*)@)XR^.M8HH%\-(I\!LN]6:$\O4"+_%`,'\B^2$Q!9%;'_#KE_T< M7$%VMFH49Y2#\;.^"N%PI4^YQ!FE/?"5(QP?A6N12=,X#+X!YL.)<4,B"@R" M\V#L\5@$?G3ZS`^;#6X)D8NSJ?%8@\.0VA^#9H03W2H2Q[I-6P@B\S_5L^9* M5^`!#TT`]%V6[>[78F]F&6_&.?B=I,+""U!,5& M2YB!IG"[1R2J1R@DTQORY73-=2FMR)`EE];%>14=R3BE9V=1R$*<>E%+(1]F M8M7(;--I:'`3\(+45'/R("1:N@GQPV#Z^WSA7"TG$W"<$?5BA@\&.8R!UV-' M1)>`D+\:R:T!SDRJ&Q5Z'26_2M^^R\HF>&FN4`5S!\?DV?Y0X4J3@.3.;X%8Q9CXWNQIE4T.4 MD3JO8$VRO%6GLWP/BKT34F%(O5KA)Z.^"-!ZPG72RBB[([B;^E4>9SPKU;N` M7#H>[\:(]V;"!XTR\PWL+,GLO(H81EU*K8_[3M"U&_9-Q-)P2Q('N$+U.>7V M.&0Q(@M8G)!E$#"7Q3'$H_XJU3A^2A2]SKV5:4M%VC$6U^5NW9YQVL]R-Q'U M*5_$]JK.[IV(0776?99;][[4V+HZ1G.4@92<>UFP&5A-W20#$;:BK/V^OI_' M2A+%=MXN!5_CS3(8I.]1'C?(Y1YM*7JK"[M6XJA=Q*-[;6CBWT(Z?YCJOW'1*>:DNEME!82"32 M1)-36.+5'3=(4?/I&5;G)$MY=[:KC5Q9QQ&0D4BLLASQ\#B?6,^A"C]JHP,= MNS31BK4ERW2.J=\Q+#.K*M6BN$L+2;5%51G4$^D3T"\F8#JR`$G(#<_J&U;S MG21V;8RWGX8BYQ-"TX.%1I%WS6)RQ9(;Q@)Y\W4+"]V$/#E'%P2DQ$:NJEY" M;CS?ASG@F^*D+=)>_"!UL+W278E./,60/8.8J%Y!F%0,N)BCK=7V(UD7?!_EKF'C#FJDX=C_2Y>T!?H^>.=!-_D06AW->@;MMG)+Q[LWL"P3ZJ'4$HIQ,>9':Q-6V4X"R+2 MWB4UTNX$3:TXN]8'TS#)7W]Q/$_..`>;1#+?"WA!Q:'1=#D'>38.+E=Q6V`; M0M!-KZGGTRL_Y=]!C5QMNV/8]B"7ZYVXXT0)_OSR\OP_#JQZ\?3Y9;HCX'P[ MIJF,8'\P(!2Y&%YED+(\49P^\>DTSO57;EA(%;]A>,6?9=L%_YYU7L2KV!$] M#!__"C1`R!``=9LAD*IU(C^B6$/%!?Y_ML%U>,6A#4^T<"3WE`9XO$& M0SC(ON?>=(;!-#R%8`CAA,R7?N(M_"SX2Z_Y>"5:'(SDCZ7GOH6,Z<9+9CK3 M!_^!1>X413*+PIN\W!VG1R/,F<"1^:G*1+UM]-`K+>1EH]KXU!O:_6&O7[UL M3&<4>CW,H=D9]@;U=XVG`]/H6Y;JRO`S]X(P MQJ"#J<.?1'C[DXC47R;FHA4(S(%RUBG4+:G2A-KX!CP M<>M`$WW'C0;5_G0PR%W?!U-[GI9IPA=5CRY!=Q8.1'X<1SY>U_!0X,HZ(G;D M!#H`&L_1>^`%0M7;@/_`7@7%VQ3`RVUEG6&GM\;5`,M/CNN[*Y%X[T";&)\8@:^]3@WR!3`;&Y/%C M1?-ABS,*=M\4,#^_OOS7LW\Z3W]X]>P7HM]\[CE+525$T'I2]@IIL5398I[\ MRTW*J9@8IY$^2DCL1TKH?[.?M*;\P?>CD]>@JQ8R,IW+<3?WTIJ9KFZLJ]$) M.C1*DU*59U**8TNJ)3?)U&%D+#L3&GW$>> MMNF)>W0Q40E)E&I4JY#BYV:Y"I<@F$4207@![?[Q M>ZL^=F]EY8!RG-ZJB=`1D]B)[\T]S*"4?0E?(D/WIJ:P799;Y$VGH(!4(Q;L MXXI#\?IAN)^C[?J?CG;H?\J+IUOT M/QW=L__IZ$O_TY?^I_OU/WWD$[C:,$6*#5/%`"Y`OU5X*G=(D2\=4DKG2LZG M-K\,K$GSJM#ES]0F1MR:]7+#5MUV6ARVMVNX=NW;/)HK7NZJ%% MR-H$ICZ%V2B=S6G,PVO#Z!I6KZ>4CK;3@=UEOB6#/__F!)ZGGJ@W>F`(OX() M4SR`I%ZIYQF_KE*#P;Q0>@YFP>B81]81@S@4`PIE*GJ^A4_ES2S_%U!^=O'% MI9#CX@0)(11$@-#7"!%G0+G M!-[L33W8=:2PX75<8AB(!1U'2$"ZWF0E-I9.A/'0(%?+1)P]$V$(@XYAFZ9Z MX_1YB67W7K]"A]^G*3G]OU;M&G:W\PEW_VS\B&,66T`&?:-C=NJ;@NQNW[![ M2E-0QX095N]OU!1T"H9[^K=I"NIT>D:G:W_\Y_`5;T &HJSP2``` ` end