From e6b8733adac0442e95bbb11ff49efc61f963d13e Mon Sep 17 00:00:00 2001 From: David Inglis Date: Wed, 16 Oct 2002 12:11:04 +0000 Subject: [PATCH] patch from Alex Chapiro --- .../library/Win32ProcessEx.c | 15 +++++++++------ .../os/win32/x86/spawner.dll | Bin 53248 -> 53248 bytes 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/core/org.eclipse.cdt.core.win32/library/Win32ProcessEx.c b/core/org.eclipse.cdt.core.win32/library/Win32ProcessEx.c index 7c8b1f04203..7c56f2fb55d 100644 --- a/core/org.eclipse.cdt.core.win32/library/Win32ProcessEx.c +++ b/core/org.eclipse.cdt.core.win32/library/Win32ProcessEx.c @@ -22,6 +22,7 @@ #include "jni.h" #include "io.h" +// #define DEBUG_MONITOR #define PIPE_SIZE 512 #define MAX_CMD_SIZE 1024 @@ -491,7 +492,7 @@ JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_raise case SIG_KILL: case SIG_TERM: #ifdef DEBUG_MONITOR - sprintf(buffer, "Spawner received KILL or TERM signal for process %i\n", pid); + sprintf(buffer, "Spawner received KILL or TERM signal for process %i\n", pCurProcInfo -> pid); OutputDebugString(buffer); #endif SetEvent(pCurProcInfo -> eventTerminate); @@ -677,18 +678,20 @@ unsigned int _stdcall waitProcTermination(void* pv) #endif } - for(i = 0; i < MAX_PROCS; ++i) { if(pInfo[i].pid == pid) { + if(WaitForSingleObject(pInfo[i].eventWait, 1) == WAIT_OBJECT_0) // Correct finish + { #ifdef DEBUG_MONITOR - sprintf(buffer, "waitProcTermination: set PID %i to 0\n", pid, GetLastError()); - OutputDebugString(buffer); + sprintf(buffer, "waitProcTermination: set PID %i to 0\n", pid, GetLastError()); + OutputDebugString(buffer); #endif - cleanUpProcBlock(pInfo + i); + cleanUpProcBlock(pInfo + i); + } break; - } + } // Otherwise failed because was not started } CloseHandle(hProc); diff --git a/core/org.eclipse.cdt.core.win32/os/win32/x86/spawner.dll b/core/org.eclipse.cdt.core.win32/os/win32/x86/spawner.dll index eed14fc3ead7bc716eaaf60774c53532ad043d3e..226637bd53b0bde98df6fbc9181004134b91884e 100644 GIT binary patch delta 2560 zcmZ{k3s@A_6~||G1yNB~1q2mDT?G{5?9AMmJF_$QLR7>rB!bFAduPFHF_N>_2er@Lae)pVv=gygP z{&VgW*O-fI%&z-`{<3A4&b+>^Gd%`%V|^KB9xQl)E7j=5E;U&?8_P|C(a1)yGmYEq z2Q2T-F`ewmJ~pCy7qIWUH}sBYBbvK2OmcaJwF(}~Z*eh}i7iK7Ev>NDdzY@lQew+a z!#7|7D;Y}zrm;cBrGQGd*eD3xZ|ae4Sc96_i^jvC)9iWUaNlQaig7S_JL@tsLe`pC zALCxg=j_jos(zE$tM0q~icDa#Ljzdnq?9r)HO0Z?dwLFJJb{VDjHN6z!8^8|{f+#jxqd5?el-?!IAL-v{n299!obx;KuotQ^Z&wgRodFqppu zOb4F0V-rsJ!A`&A_e@|?Q`h?-zf7p`1`4u*7~*a*#tH2Gy3<1(yXQ;-pC@y011&v@YWUErosp3&FXl@ZtH)eAh{IN?Av z5M%gc&Pc1tf){(9UV-3=;KH;2N~66ajS=27YGFU@@NRb1gMS%dV6r;SJfwN$IP-gr zw@njD+WqDqc=>4i3y-z3#yFN4#nu>iGi_GyQxJDDm~TmH{h(4MuF%_&y!E z?1p(ga0QHA5OkLqHBmndBjj)VJHXqa(3S&V=NKaUW zJX*nA1uhsL=6kgn*9RtL9&Zo}FaY3Y8NQ&60{Gm?@Nt72;NLr+7d-EFKfjiZ{jE;v=y;>W_w?C^QFsg#L(r zK%Jy;X}H8mSc;M2rO8fdiZnwikQPcGN`|ya+A8go+|mi@ob+4@l84FB@&tLdyhtvU ztK`k{ujOm<1DU~ta0HIW6LAL4#SXk2e~PQ|HoOZT#JBJR{2co#7NwsOu1r@7l=;dB z$}*)=*`#z;E$Uk;RVS)HQA<@rtxMD_K*XlfgC3< zNf&CN;dB@sNoATy(`W{rMGI*eT~8T~VeW!^`b9VeH>wR4?q@wQdAhc-Z_2qlg;TG%ZFO14$)liCWkz;aBKY`Wd}h|4t7kgUM);MwWs2 z`^YVFhqRFpO6a?gz*_nX`d507KBY_|yd9dk8yCV2<3?~cZVhK}f8xSzPBTA%PvWQW zMZA+=$DiZF1e-8dST4APE$|7x5pD>77g#Y;l*PqjIdu0y_!uqXKSUqY8})@xF&ZVJ zsVEQndkLyS`%x3RhsH|Nq_xr$slS{f&y;^ASIX7$7xDr5gnUWr3@Yy;`r)x9PR|E`7JYPp{Wa#E((5&&fzCQVhb!&@nWgCP2$=q&0LKt);u@3-58xW|#q>Ku_*tsJx!L!2OMz zW_xaP#`D?yLjEYA~zDumC3FN8C~72%HXSg?qKsEcu8u2?Ge zLLq1%ia_(x257uG)B;DcGwz84a4;T#$Ku(z6tBT9T!E{g@oL~`*5Ze_4ZpyQ(n)bB z3l*2LL8(@1lxQMsdps#Y~pjaE5T1T8c*MqRDC)C#pqtyaHRAF1uCkG-osz~0|J z#2#hm?8qKx&xOOf*8Zuz+P=kp!yc$bX}b22_FL_&HdGh&$@=^HR{fy} zH1bojm~0_+pjabmBA-Bi?4a~EeeRWK9>Zv0wsZSImCXy7DdW>jRt+8rEjbGJcQ?q(* zY*}dqM-=n@toacW`C#jG#BzR?H6wCsz`ye?d(<)hfORYCFu%{**`u8wYW*d84ez#c zW8Mk)F37qbvz~w3s*4@XAN5{~eJudYP`RTI0?Rl2JZXM}GdAk*waE!NmPbX~V!MxokHjp3hZAd)c5k|!WPX_X-R=OjF z&#;y{oP37&wxcE-o|LCG1;>9dl(W5&#@Q_30uTk`p1^3}sy8d+KnTo?9{WN7m{-Qt zbWrZ)LJ|G!oo#38MFVEkGw@LL<)OklFp8kCz9(Bibl<=XvbVQzGye<3LG0+^$~eqblC z1=s*I0IQtVj@;o9k3Q-1ugn#4wlE-}(2B~NI^JFMlVAe4zaUrzyZ{;bCwuC^-ws>^ zeo-)Yk#!<3IRMPVJi+dN4_21Jm_RC!0gM4A0aJmw*5IP_@WX&#+7OxA856gi@ z0{qMD0lWW+pZX$a8}8N0+d2lquaGyX`bt2z_Fr?h*n-C?_&>kb8}Avy^LxEhYFJWa z$SltGKX|upPYQAUj@Hl>w22<3(QF9&n0?BQv)k+*;}SS-49{^fLNCD~U}34SRcICt z2;T^mjv9wUd`)~qtPxj>_r**pM_MSC$(FoQUMp{qKazLKC*?EpSMo!-6ADK$XcBrA z9YI&n_sFKiDhW!mA}Cl%RnnEQE+to)rp!=El}g1@Rw{o|wkf-nHYHe%QsY#nPE?(0 ziCUr7sPC%B)l2G4wHxk%F@6p|kF)UvJR84-t8gt|h1cOz_!4fzcQB{@O0#LBwOs8b z?GB##u3O=LIW=?I!h^XTvC`*bbcM7PrG z^giX7jYY9|mc&xnaP~YK&+^!OwwQ4O$K8bO=^?}mhA>!YbqRL`?3m~H((%C2K@5>b zNb@9@v|YL&mC2RzALU*0KKZzOLB1+qmv76ls2>`H6f_j&qCzwixllQ(LVrN@s1a>M zThJ%yAnJh=@v}G$kHF(`KAwr+1btTH^>`EBivNla;VX|c`Vj|dp<0aQ>ZKKEq52(z zH$%-hvk%nFpz2Xj_XKmYIm?`9T4sZ}-rQyOB8SN-a+!QX+KGc2bO=qSS#$y|psn-< zZHJoUSRXcki7bOE`{UDpyDn6Y*EvX}`NIhvFjpP=&M;;K42GJr~LOpP3 zSJ8T?yP3ApcxGqGAicn3hM5UXx0HEUEvsXz*fr+!D=?YkqCtVzq4Gvyzi?U@>1cCc z(UmDq6Pv`lQ28?wl7>iG(j;k?^tx0gRZH(lJEX(XS?RLG$$jO4vLa{8B{GjfQCHLh zy@ZxP>#atg!=b#Z`qUsCg2OPv6LAS%fZezZS3v7|;BeOAFL4XLhHv8U@dRy}=GK;I zRhmbu)i%4dvs!08LXXzt^aR}wS`5$y{Y~Aim+2LHmHvhPmENlVpttKmMkgcOh%pk3 zL_;yM;kYg`-ZH9;WyT4kgBfEEG+#A8G6TusB9MA)bd{wmfOAv;i~-l{L8*4r8Mn XjFM13nvKfP9+d6vcHl;6jS%!7C{AiR