You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by mt...@apache.org on 2003/05/03 20:35:11 UTC
cvs commit: jakarta-commons-sandbox/daemon/src/native/nt/procrun procrun.c
mturk 2003/05/03 11:35:11
Modified: daemon/src/native/nt/procrun procrun.c
Log:
Fix the JAVA_HOME detection, and make that non mandatory.
Revision Changes Path
1.20 +21 -10 jakarta-commons-sandbox/daemon/src/native/nt/procrun/procrun.c
Index: procrun.c
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/daemon/src/native/nt/procrun/procrun.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- procrun.c 3 May 2003 08:52:02 -0000 1.19
+++ procrun.c 3 May 2003 18:35:11 -0000 1.20
@@ -720,7 +720,7 @@
if ((err = RegQueryValueEx(hkjs, "JavaHome", NULL, NULL,
(unsigned char *)jbin,
&klen)) != ERROR_SUCCESS) {
- DBPRINTF0("procrun_guess_jvm() failed obtaining Runtime Library\n");
+ DBPRINTF0("procrun_guess_jvm() failed obtaining Java path\n");
RegCloseKey(hkjs);
return NULL;
}
@@ -739,6 +739,11 @@
char *cver;
unsigned long err, klen = MAX_PATH;
+ if ((cver = getenv("JAVA_HOME")) != NULL) {
+ strcpy(jbin, cver);
+ strcat(jbin, "\\bin");
+ return pool_strdup(proc->pool, jbin);
+ }
strcpy(reg, JAVAHOME_REGKEY);
cver = ®[sizeof(JAVAHOME_REGKEY)-1];
@@ -750,14 +755,14 @@
if ((err = RegQueryValueEx(hkjs, "CurrentVersion", NULL, NULL,
(unsigned char *)cver,
&klen)) != ERROR_SUCCESS) {
- DBPRINTF0("procrun_guess_jvm() failed obtaining Current Java Version\n");
+ DBPRINTF0("procrun_guess_jvm() failed obtaining Current Java SDK Version\n");
RegCloseKey(hkjs);
return NULL;
}
RegCloseKey(hkjs);
if ((err = RegOpenKeyEx(HKEY_LOCAL_MACHINE, reg,
- 0, KEY_READ, &hkjs) ) != ERROR_SUCCESS) {
+ 0, KEY_READ, &hkjs)) != ERROR_SUCCESS) {
DBPRINTF1("procrun_guess_jvm() failed to open Registry key %s\n", reg);
return NULL;
}
@@ -765,7 +770,7 @@
if ((err = RegQueryValueEx(hkjs, "JavaHome", NULL, NULL,
(unsigned char *)jbin,
&klen)) != ERROR_SUCCESS) {
- DBPRINTF0("procrun_guess_jvm() failed obtaining Runtime Library\n");
+ DBPRINTF0("procrun_guess_jvm() failed obtaining Java Home\n");
RegCloseKey(hkjs);
return NULL;
}
@@ -1134,7 +1139,7 @@
proc->java.stop_mid,
jargs);
}
- else if (!proc->java.jpath) {
+ else if (!proc->java.jbin) {
/* Call java.lang.System.exit(0) */
jclass sysclass;
jmethodID exitid;
@@ -1255,7 +1260,7 @@
/* check if we have java.exe as worker process
* in that case don't call the startup class.
*/
- if (proc->java.jpath != NULL) {
+ if (proc->java.jbin != NULL) {
return 0;
}
strclass = (*env)->FindClass(env, "java/lang/String");
@@ -1402,7 +1407,8 @@
if (!CreatePipe(&env->c->h_stdout[0],
&env->c->h_stdout[1], &sa, 0)) {
- return -1;
+ DBPRINTF0(NULL);
+ return -1;
}
SetStdHandle(STD_OUTPUT_HANDLE, env->c->h_stdout[1]);
pool_handle(env->c->pool, env->c->h_stdout[1]);
@@ -1412,6 +1418,7 @@
env->m->pinfo.hProcess,
&env->c->h_stdout[3],
0, FALSE, DUPLICATE_SAME_ACCESS)) {
+ DBPRINTF0(NULL);
return -1;
}
CloseHandle(env->c->h_stdout[0]);
@@ -1425,7 +1432,8 @@
if (!CreatePipe(&env->c->h_stderr[0],
&env->c->h_stderr[1], &sa, 0)) {
- return -1;
+ DBPRINTF0(NULL);
+ return -1;
}
SetStdHandle(STD_ERROR_HANDLE, env->c->h_stderr[1]);
pool_handle(env->c->pool, env->c->h_stderr[1]);
@@ -1435,6 +1443,7 @@
env->m->pinfo.hProcess,
&env->c->h_stderr[3],
0, FALSE, DUPLICATE_SAME_ACCESS)) {
+ DBPRINTF0(NULL);
return -1;
}
CloseHandle(env->c->h_stderr[0]);
@@ -1448,7 +1457,8 @@
if (!CreatePipe(&env->c->h_stdin[0],
&env->c->h_stdin[1], &sa, 0)) {
- return -1;
+ DBPRINTF0(NULL);
+ return -1;
}
SetStdHandle(STD_INPUT_HANDLE, env->c->h_stdin[0]);
pool_handle(env->c->pool, env->c->h_stdin[0]);
@@ -1457,6 +1467,7 @@
env->m->pinfo.hProcess,
&env->c->h_stdin[3],
0, FALSE, DUPLICATE_SAME_ACCESS)) {
+ DBPRINTF0(NULL);
return -1;
}
@@ -2368,7 +2379,7 @@
report_service_status(SERVICE_START_PENDING, NO_ERROR, 3000,
g_env->m);
if (g_env->m->java.dll) {
- if (g_env->m->java.jpath == NULL) {
+ if (g_env->m->java.jbin == NULL) {
DWORD id;
HANDLE jh;
jh = CreateThread(NULL, 0, java_thread, g_env, 0, &id);
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org