From owner-freebsd-bugs Sat Apr 6 8:30:30 2002 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 112C837B404 for ; Sat, 6 Apr 2002 08:30:05 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g36GU5h14039; Sat, 6 Apr 2002 08:30:05 -0800 (PST) (envelope-from gnats) Date: Sat, 6 Apr 2002 08:30:05 -0800 (PST) Message-Id: <200204061630.g36GU5h14039@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org Cc: From: Andrey Simonenko Subject: bin/36374 Fixed patch (against core dumps) and improvements for apmd(8) Reply-To: Andrey Simonenko Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org The following reply was made to PR bin/36374; it has been noted by GNATS. From: Andrey Simonenko To: bug-followup@freebsd.org Cc: Subject: bin/36374 Fixed patch (against core dumps) and improvements for apmd(8) Date: Sat, 6 Apr 2002 19:28:27 +0300 (EEST) This is fixed patch and it has not introdroduced before race condition. Also I found that enque_signal() in apmd.c has potential problem and too quickly generated signals can lock apmd (the problem is in nonblocked write() calls). Unfortunatelly FreeBSD hasn't true pselect() system call, so I add again pipe and IPC technic to wakeup select(). begin 644 apmd-patch.dir.tar.gz M'XL("/H#JSP"`V%P;60M<&%T8V@N9&ER+G1A<@#L/&M7VTB6^2I^1<49&!O+ MQC88B&F2)N!.F`7#`NG'3OKX"%O&FMB2D&0(W\[N60X/ MJ^I6U:U;]UU76/Y\W/"M:#1MCIU@X\5?\26V6CO=KG@A1'NGV\*_0G2V^"]_ MM838V>IVMEOM[9TM`.MTNILO1/?%_\#7(HRL0(@7H3/WW"5P`#:9O/@_]V6E MSQ\?F_3X)Z[1;K6VM[9*SK_=VMG>[/+Y=W=VMMIM:-O:W-YY(5K_?_Y_^=?8 MF4Q$(U@,Q,8B##;"8(1_F^&UXQ(S;)Q:G^V),[-%ZFFET6@\-<+XR1Z+`S\0 MG2Y(=*_UNM?>%9U6J[U2K]=%,:C81-"MK5ZKC:"=E>^_%XWVMKDMZO3[^^]7 MQ.%)_V#PP_%)_W)?/#2]1>0OHA6Q(B([C'HK#:-):(@&?$^$'8V8J4>>"QMU M5^KI_HT4`$[3=-S1;#&VQ7?7(UNTN[UNM[>9)9$"7-A,H`[T]]KM7G\(^BY_&9R=7QY?PM-@CF-\\<-,C&%! M_C01Q)CU^/$@2+843"OMV`1\`WW9+S9U@$:W4KT"(!"+GW"P"*W(\5[#TNV/!HB:<*$2( MR':C)FR+AP+Q?K2#:R^TQ=P;V]C1GSU3:$8:IX^>%)J1<0I(D="`LMCI;;;@ MNTAH1BFMLMEK;?H!(D>! MX]YDVNT@R+>X7J9M,G*C&;;5D[:9NE1T=1F,KR"(# MC8Z7;X.5FUV65]I@`_A1O3@VSF/:WDH=Y[[J2TY,:@&1NR M!.8[`;U1-!M.QB8RNNL%<_BF:08 MZ:I],BS#PS/P$MZCHU`$[SMC'1CV*B%11O6OF.0`VFCK=*>&A)C/7@)(JL$^ M"W_@T8UU4%'K(K*N9V1<@#Z`Z104\\P.0NS;`+4"Y@;X6_1_[`^NY`S#X\'Q MU?'!R?%_]2^J_1_-BYKX7;R"#V+P\>3$%!?BT5QI@(PN1A'/JMB/'L)_\F2G M!S__"JC]COO-@1H2%!`?#LY/^S\RZP'.=<#YQ('-`LK*/#$P=FW$L\F^X3T& M'T/>W'JZ<8;3[!/6-+O:[+N#*]CKA_^`C5[]B(8-U.W4NQ=SRWUXE@%]2XC$ M![D8(L,AX'`T_8P/=[!L:A5:?XF"D%WX"'V@H[V@FIRY6*_1!)IH.6.TTT[$ M.Z>M\F0K=:"X443R=?LN189E9RXN:L8GF,?&G3#Y15W@00W%JU'G>'QPI2/+2P+QL0;C0WC0[[*>5#_]XV;_(3/$ZL`#LRLL>+P):*)\V@$%ZMQ\Q=T)4\#.6$P]',!\NM;;/;!?[?W#6W.6"61V=_L=%(S>'TQ_+4 M0'7IOH!^+@@]M$91]DCRY"90F-_7C@2-*,Z["*61;!A@#8?`-\ZXB/XT!W@G M\11U@XQ^:HXZSV$8-(E`5.X=X']1K4(+`$V\X'.U5JL1FB,+G(5&&S,"!JM2 M<6\%;K4RLEQTQA$8SP:Z;SP(B""Z(V]1GGC3=4US?$DTC4RC8@OD.MBCXF"BWC_%+AS+)9@(B:#5PR ML;JH$4XF\B9O,Y96YCJ#I/41U#+P2`\^RE[&`K8"763!&QGQ&2_FOB8_ID!G M3JQ/_%K.]B\?*25OXD,<%4VJ$Q_V(#Y55L-/%<"[6BT1R1J-9;:BGW#[L<+/S&* MR";:YD"M@#!6(5ZJ@-"@CS.'4#AX8(TK]UW-,TU-J+.I?\.R)<:8!RTSQO5E M*,7_3L*3S#46#P8E>X"T5=8``XOI7K.HE,WI+5XSK)U(V<(#-RV'+M'OH\RUO>'S7G2'#+GC*A[ROTY1%(`B!6-44@K4U-A$$U M>*U)!Q"+2*)]?I3[)$T4V#>P,SL8JIA8I<2J`(D*B#*))@*+L1.`G#B>R^+1 MZ73-+;PYV]XQM[J<*\`85T&)_386&XAXB8O!*A76-'($:CJ<%SQD,,?KK M-XY[8^;&-XHG<"(>.'9"-;9)8S>DCJ3)W[1;H&[0(;:#$1R+=6.+-Q#&MZ2/ MK^D3'F5=A]5X\1I2M%WCNPM-<2GQ.>\+$5Q M3QZ&$4O@O19*A\YOMC>IE@^O?;5<*HG++X.HY'R$."N7C]0SSC]E/R`.20+U M?/)E#ZE,>?!06!&M0_<\AE&8J)&DN:>PGM/<>'3TF746=N%%"/J9U/Q=J_86 MTSG]BU^&I\>#CU?]RYYZ/N]?'/8'5_%`C?]$P@_Z#$?'F).Z>'\\>$]1I*$Z M5"OM7$."T03S)]Z*#!JB)W*(U/.())_3LVBH:#,E>$@Z26^\%6\R24@66A_% MP"G.>/:H8NV,#,&Z.&NXTXH(+Y=XXD05-0R^TAL"NSL11`:C6=6^P\5,$>?7 M:WA;4@X7)]=K9J'"5MBS0L^(,9`M/W,$WJ"V/!$79&KD/U37J$\M+8>B0%43 M>*9NR;0)M@3UY+0)?&V/18YMS)[4-:3+*<`Q"O;NEW60$2,DAY-)F-FQ*=9< M*?0I@!@7"2!D?L'E=`,^JNP%6:LXJ?Y/]]>F)'HRJGK[%?R&R#Y'VV6X4MI3 M12N5-I%&.&U<&>'8/G,%2<=L[^)M./S=R68-%Y@0?B)QB-%%L'!Q;TN\C%1> MD._\8E?B::<._%O:?+'SH8T43`YY98D@#R&+]FM#Y6I%B0 M$U14UM#:I-*9K8ZY[!Q%HT'E*6RL@5`AD&+IX<:G62VZ*ERW[TJ.F)!J;YOM M%@0BFUV(.CLM+_$X:2<>'AS0/O57SF1L3\11_]W']S$([OGA M@2ZN$82*/G`S\O[SI\#RP8?#;#(17:)?$Y.%2SS8)+#CB4A=_H/[AN!N`@]N M)Q89F0AN&/*"VIZ!9Q=&8]`6"H#GJX!+0S4_7WPPOC"%?IDI)S)%L]G4`G]'9?$I*SL,K3NT MX/2`/7<6Z4##\CF]!L_D04$H;BK<:BI(S]"%4[YWDBX)5C$FEL_'C:0A?T^E M3IE.P#%]]/YZ0FK3NVQ_=B8I]P%\5^,^)'#&5%2`G*]&DK%$+!3 MFE",;>PCTP<.KLKX/&HY*!+7@G-33D`5.9?N,GS;K6:*#6#YH)+VCALY^R-O M3'"\+B9R8Y=98XR+3[AF,TYF!!X MZ0%0[S-/()NMJC.2>-WCTLV_K"B@<)*,LT.Z7SC@+\7.%CS6ZY+!Z+*&/28G M]IB40:7Z"VE>9/SAL!>'P^Y!U&T]7[>60(((<61)4S!;-]IJWI*3U_<@6E]6 MOU1,;7$DAE3C?0+<@*"=!H"3*.";M]&,JUD2F41RL=D,4\4?]U,KDH:,M^IH M>26-D7*TF32H4'=IF*I6&JV6\0OT/M9VL>OA%%_O^UIZ ML3!=<:LYHT]Q;T&NS$]2C5HTH/&V8L*<]H^C123Q[V0'TE3DL"R7B$L[RD5F M)[.G((B@CR-.FO56YDAU!M*CD.\!7^T(L"EG:?& M+ST1'$1CX!@DD]+N?$9=H_TR\5HJ7@B\ MAU)KDNZ.#8H6QL1V^EE&9`/O`,+__9Y1:A.%KE$C;HTOSLC;LK2L5K'-OA2)HOT M`E:W:<`=^(G(:^?\0^Y<%KHC=6%2))4M%V^C'9ZU!`NR:ML@/YT1UB]H18I3JO(0ZEIW$$"I;,'7U() M?F\H3+,')7-3+Q3%PFZ[MPM[R)U5"9>UK/0JD+P$4S"NIXQK;+*2%=J_8G6G M@/_4R5#%Z3V.22@'RJNI5K+)U,Z]J_8DK:Z3(A.-Q4X[_]E/\EZM)4[K=6MQ,E;CTY'4-P)-N4V7ER014.'UY M_/[#Q_->Z3V2/#)Q_8"@,D`R8CLK[S;Y&DB;$WS\T_));SPT>6/OWA5@A!C? M#+I<-]?FSWI-7;S$X8>3(UY"EX,L0GJI>KH*?^'&UQ+RY%:A#T(5V[FSQ\T4 M,LE\CXF71.>5<&@+-<=H&A_<:"JYJ8[<)(M88L'3S$GL,=2-)T]5;5QJ\?3. MZ]G7'%7BE"\PI+Y94C]8>"ZP(@95*J#3]-:^.FD,XO`O!7+'@ZMTN6%;1T-7 M`4LP2;,=<*A68A,S7U)ZGS9FV3="]V2*8WDI9M$;H1F/1NI=DG:P;N03)0JA M0"7$0)I2DI%'4J/AN!-/*,B41N#*T*0D=-#_^4J^O[:F!M3X.DK&;IK"*RE; M5>/$:FOK"Z`ZMK_(:V'B=-7=Y)@M?B3`VEZQX@$H#I?D5;8,7%)SZ:E$\F?H MQ18=^>32.W/=NU8XGQ1-NE#5+K13I,L5U193\*66B2ZBV8'*LB=):$6Y12(9 MY;O6Z%A"UGJBH),W?NI&_,H/,GGFY9[,Q;)AH.O%MY$>F`]^J]JD]ZB/#OJG M9P,)1@1['H7EB(*7;E)OW61?NUG^WDVNGDFF(//1@WJ+\.!P>'[V4_]B>'EU M<-7'\/R>A*9I.4-KQ'7Y5&GX-I]>ZGV"R0M*O6J)&T5O&JIL6#;^2'K;FRUSLT5Q*PS?H/OV>QOT MK?OWB(HS3?GYVHNF=L`%?"@K1;&\5J[#=-O+N/!R;(*:EM\1L7C(-\F5?+SO M7[%,KTD:2R7;*$W1$('2[VXV-67]E0L]$3@5+):O%=6;`%K\Y<*HP:.PU986'823,@J_=ISB=DR+Q^<75A_*\ ML>3S)ZSJQ1VHR(,%V42^FF*4Z2**H"80:9;.F$6^9;R\"C>0HEAI_////XN& M"*?>`O02\3)O&G8,X>&4_@<-H![2OV_Q[0`4P5R$'FPF](*(YT"O=NX!RTOR MC;Q`)HS?IDJ2OX5IOY9GOYEE_RV.S=V_)P0F%?'WP"8N=%RNWB%N<;U[>+(B M)/N]#1#0B\Q$!.?R\N[6:[.-]>7;VQVS\[JC"LR57M%X[V66^62F;RE[-K1D M?>&UD?]R7UX:4=(^3C:FTOQ%VG)O$S5XEEY$E?)HJYXRXB.ZQHUW8%KNI_MW>L M36T<27\5OV)"P$A9"6LE@4%*G'(`IZ@`F=1W?/3#^BDG94>-6*J#?L`E%?9DO MC*V'[C.C`7'SF+LVMYR]XS-9F;=\O*N(:2<)L(X$&Q-A8S)L7B&62;&FJ^UU M@P9*$EQ=R34FNF;+KG%-$E&*BZ]1.TUFLW@UG=Y$3HF`&@ZO!^\UAU=;1-B+ M2@UA].IE/!(0I'F"O2Y=/0W[MR-\O!C269=\MCZ$K@=D&*!?0\WPND^^FN#5 MGU4Q57\QY14D!/>#J])\RC(C."&->K7=_^?.8;?\E#5"-S[PHK=SY-P'NB`U M\]G6Q]$+(?-^9'EMH3ZZ9FN-'+SX*N9@K&XGVU0?F&)ECI`#[.+%7U5$0-00 M6K\>74/_EI]"'U71VY0Z$H)'0@Y^5V\'^I@4:08[RJ8)0%<]5[H.!,;!X87Q MD`+)3>]E_W`'F,WAD2HHAZ18,?K\RJ8P- M";\YT-_@[9IR;'4HYQEI$F*LMDJ:J6Y"'\90VJ5SC=P89:"$XY!Z8Y34;<[% M0V*_\4GWU_N-AC"EWY)PC%Q3)&+)ULY?1Q*G:[JX[RP?18HKBE+KV6MHM5D` MWM=J8GO?F\61OC)Y$;DJJ4;<*V(^?AK2XOV7O5_DK86$?CIE7V!/,[6RA^)- MDA>I0TMB8U8M0[$>@:P'53J`!ZW.[Z'8>8(?-&ZF%;B@C@LU8M?R[9U\K8Y) MC&D8HN3R$D.Z%6,)R#C'VP53TP>&G$J%$OB^'T#0`=FL+%D,L`J`ETW4Z=_3 M^=3>'M>2_I7`^LGJ.T*;R`!9JZ;%LAH#.9'CSQ:71WNVD>WY!";M MRR;/--+>A_1FB[Y'RN!X=$'[E/E4[;!Q7ZQ%96E47(JT%75#"G:N[EEAF^R&W$-]KDQ+J'8E4G M"]L6>_-*2[U,DSXF$<='2P^`^6PNTNC!T-NIZ4D9B;`SJ[&U^-YZ0)^).=7I!_[$2GC4?<-T;O^[L\' M%77'A5,[A="SHIDLG(/O'GQV2[L'CVFI=_3ZU_/1A/J',&YU6Z?OA.#.Z/3ZWJ"^F7R..%B!OH6HG[8I8@&5Z8 MF1P'_!/`8-D#?!D;']SC\KMHWZ,='TH(W5?RFP$`;4+5%E$5%][RX_9<5R&O M8X5E=ZA-01G$K%:&*VWBT/S#ZI)I,VL\?5JIONVC_+C7T/W=PZ@!LZSW0M4; M]X@,%0QF[YQ2^AIT9;S2-BQ.WM9QO[V#^71\2X(*T(6/-4<)>+BF#$:UCE,.R=9R];1;8GK^3H" MEF23N-9H1W([0I6`,F!6)Z1R'7FJ"QNV4ZOIR8^]UX$(MF@TMR4] M=D5ZPRN[T-K!3WO=K5^\M5%YJDY[+'0\M9.B,ID$=`_W^]L[_P#CNYAD*2\\L?R+2ZOA'HK'6,1H9$Q;N0-+EM'>W\'*FZU#!-' M<9`I?>,C.QW'9R'/^'=^`Y&R]V9K:Z?7PVRL)_`.LH?5(BACL-$%P81F*>;J7PG3\/L'A\ZU^W1KTS'"<\M:-M0`T9`OBQIQXS,DY31'H<3[[Q'+)+,QF.4X44T&2V,+U)\,$BW.U*OA!! MERRNSV5FB*#+O"&"+DN]NPF&I@(HT6BV6\WVV@8+$;1&BF/P(\-0&8TX%LZC M5%I\=C^8/9O=353TO/%PT8(:5EXJU1IU"BLSN;LFPBX-XW1(!)/!@A_8/!NC M@!4\W%>A"$S>UN'N431/72#O=7^U>:0C02H2*C2!>?/F]3;D'NU&:U48,,`> MU1!#-1)2(?Y9$8SC81+,N_V7OZEX"8F>4;6)01EV7N?SBNCW7Y>Y"UKB:O0, M$&3T&P71#KG%Q8V\M$Z%KE22791B`>EN-+F$KI0\7R:"?)**BIOK%)'J^:8) M7&$<#.7S!-S)"6\]R79,F*-<\5]L9),4FBO5)Y+HBDCZ(H!#4.1N?W0$U[(/PA7IO@SD>@**Y5U4TJJ)9H2'_5KKE MR5^W]>]D(\"D!".BS0/S$O69WDK3W/UUDAOXVEX(+5HTV_-ZH^WDXPA7H_>K M5\)]S.(+!)23-5A8X@X;HEYO-^KM5IUQAWIU`P/(P8]T:`:D("N`'%5+,>0: MN6+(*3W52"BVM`AK;G@TF,AID>6"],AH@2QJKK(VK`UIT*[?PXI*BY@DEND2:/E6''5?+P3+ZNAB,KV;J!"@R\L$H*T+ M8\K7/^W\O'N`I>FV1S9K[)SBJKZPV5FFC=/W4.3%L3B9GY(UD7P^F91T'7C2 M)3.KD/=!*`EGJ[N__[*#ZDCTKL/?]7;V=[>Z>]T#^_[;U>^6J'KU;%8P*_82 M5Q[Z6!46,25"(-3#P]7]X&J5PCPY\D5'5V!+4UG+PI.+V_?>&@RS]]1@WOMJ ML)*,[Q/T>U\-5NY)KL&^]]5@I:3D&NQ[7PU1F2JQFBB0KS(KAB6C8]^G=8GJ M>F^7J/=>)!P1+QD/!R2U(CM-O!5ESA1'B$R?KZG3)29T)G=1#"RA0K96%4MW M%BO.&PZGU4?9DD80TA'=L1@RC5H74-O0,-CC>FWS-%B&&A<"3:/0Y#%"GX)D MTA3XJ5(@"5*)"',6,0(00X:$:TJA+P`F+[]N]A"6(T)3$ MUC-H2A`A)]XZT@;?I22I\\XW!;*(B.R-'#1$K2Y-/A+I!\8,S2(=`:<:*60C M.#YN#\?OQO/VJ:(;9)B@/S[XFEPLEABM@PRG!,(YO"'[A)1$PWF MM*^LN@Z`4$-:2<4ZU`%6$(@PYDF1D+H`_ M&T(A>T4%M=)+00_"FX-?#KJ_2E:\RD='`A[73VEFTJ9'Q7Q)VCF9.&O1#B.K MPN4A6K60"[I5&9A;W+GC6C[)%2W4*UNY:ZM;86FC MKHVV8]Z(HZW?&C_.F?7GJO=6.G')=<9`GIA6'T0T(^N<08'E/&G0T!BL'L\: M&G6";K;K37;6T*1@7?#3B,5,3XC"[@L?;\\.@J1C@L2`[U_TC"#JQED?D[]] M2QDBY/?=[%3+.310^;&S`\<9^]7H?5(T9N$[6U"G"S"3)GBH0`$_Y?*9SSHY M#\XZ.0_..NJL;W3O.5&FX'L=Z]&6K$G7J^&:"-9;^(-38'D^_7-DA7">@?S3 M/%LAP14%%FH*`$^/7AB>RUG\0J!!QAX`W8ABI99IFC??C^Y?R#Z*-"A)I:9R MMBGVTF02`:?A(;LX1(>)3%+=R/?2'*,:`&I!+A#$R>8II1@#*(?NA;`:*^P5 M#!$9%_KR931J6+BA"#9"_*%1(VHM25.?_+'52FWQ03BG3R$0=@U#M0<$PPZL M(N]%J<.JI2RL5@5UP])H:82;-NK@,/53M0+:4D/&Z#(2C1%H MHE&\C)1BODLJ?.N:,"344E.'\8K6YHOIY:LU-A2Q"P@:B";\O_9E!F,M/AB; MU;`!H]%:PU\<#;ZP8&04(2LIT1A)*+"0T6!67EHB*PU#:T',#%GD'A?*4%H% M)1046M4@R%)H4?O(9S2=BD2QT.8I4+12%?`35M(#(F67<&,=1;%KQCJN]1S7 M8[C>U`ORHYV&2&G,8DORJPKT8BED7I#U7)(6]*YGT4<%#A+*@:\*B[;44-BN M2VPWFIKFX<@J_J"HKD78V4E(8Y_D&*G*?ML3/Q6_E6\OM%&T%[K#5$9CA>/[ MDCR[C805!S5[PODZ[^3GJ_B];BD9OG<1\5Y4_0O,!(,6UD/6OXSO/JYKY;[7 MU[DJ%FSN[F7P_V,=+#'774P^;J&/PW6UXA;LS&TKX03V8TM+KE+F%VD#>-UZJR6>"-C8K-7Q5XA&2_YB:JZ%0CQOM0`(_EP'L+5Z MJ_5$U/\+W__D#O6@A'AR.[Z>3E+@`.SBXLG_77*VLKB!PQF`&[QGMM%LAZTV#+O9TX:;Q"8VJ_KV M_)GC=0Q9)''6G@C7%VI./O%VF"=-Z<96*+N5X6`^H&J8D[_;Z<7\'(C,DR+E M6?]RQUZS._PO0`>RUO_SYKI9_RU@:0!6#YO%^O]ZZU]-`W;08PD!G6AMXAE5 MV&RW2%NR[B$$\6JH!M*H61>-$.A(N_Z<4000&=>EY+CA*%PFW.F4ZN^AX4$$ MQKW6(9"S"$C\1D80W#G:S8G)W?79:(9.T6ZF_X(_K@<3V+!=CY20`UOEX8C" M.00Q@E22[0V)(LD_8?^!?UQ5M"8B6AT;<^08<< M6FDLQZ`;&KH!T-V=_9I$9BB,KTR"?O3ZOSG?W/BZ_']M#?E_V`J+]?]5UC_. M@"C_/[J\$Z]&9T)LB)"4I%NA/