Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlain Magloire2003-04-24 21:16:14 +0000
committerAlain Magloire2003-04-24 21:16:14 +0000
commit977a96bbc6cce74576c255853d0e3ce71be8a0f1 (patch)
treeeeeeabfca158cd3c6ed77173f5379a757e930ad5
parent8bed408f595281fd520b6a8cc9bf6f682d2cd1dc (diff)
downloadorg.eclipse.cdt-977a96bbc6cce74576c255853d0e3ce71be8a0f1.tar.gz
org.eclipse.cdt-977a96bbc6cce74576c255853d0e3ce71be8a0f1.tar.xz
org.eclipse.cdt-977a96bbc6cce74576c255853d0e3ce71be8a0f1.zip
update new function to do interruption.
-rw-r--r--core/org.eclipse.cdt.core.win32/library/Win32ProcessEx.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/core/org.eclipse.cdt.core.win32/library/Win32ProcessEx.c b/core/org.eclipse.cdt.core.win32/library/Win32ProcessEx.c
index af32311049a..b4174646c41 100644
--- a/core/org.eclipse.cdt.core.win32/library/Win32ProcessEx.c
+++ b/core/org.eclipse.cdt.core.win32/library/Win32ProcessEx.c
@@ -100,7 +100,11 @@ JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec0
char buffer[1000];
#endif
-
+ if((HIBYTE(LOWORD(GetVersion()))) & 0x80)
+ {
+ ThrowByName(env, "java/lang/IOException", "Does not support Windows 3.1/95/98/Me");
+ return 0;
+ }
if (cmdarray == 0)
{
@@ -511,8 +515,12 @@ JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_raise
char buffer[100];
#endif
- if(NULL == pCurProcInfo)
+ if(NULL == pCurProcInfo) {
+ if(SIG_INT == signal) { // Try another way
+ return interruptProcess(uid) ;
+ }
return -1;
+ }
#ifdef DEBUG_MONITOR
sprintf(buffer, "Spawner received signal %i for process %i\n", signal, pCurProcInfo -> pid);

Back to the top