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/02/07 10:58:48 UTC
cvs commit: jakarta-commons-sandbox/daemon/src/native/nt/procrun procrun.c
mturk 2003/02/07 01:58:48
Modified: daemon/src/native/nt/procrun procrun.c
Log:
1. Added CLOSE and SHUTDOWN Console Events
2. Fixed bug in parsing -Java java
3. Added prety displaying of Service description for //TS// as console title
Revision Changes Path
1.2 +32 -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.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- procrun.c 7 Feb 2003 07:04:35 -0000 1.1
+++ procrun.c 7 Feb 2003 09:58:48 -0000 1.2
@@ -832,7 +832,7 @@
}
if (has_java) {
UINT em;
- DBPRINTF1("jvm_path", jvm_path);
+ DBPRINTF1("jvm_path %s", jvm_path);
if (strlen(jvm_path) && (stricmp(jvm_path, "auto") == 0))
proc->java.path = procrun_guess_jvm(proc);
else if (strlen(jvm_path) && (strnicmp(jvm_path, "java", 4) == 0)) {
@@ -1284,13 +1284,13 @@
j = make_array(env->m->java.opts, opts, 60, env->m);
- for (i = 0; i < j; j++)
+ for (i = 0; i < j; i++)
len += strlen(opts[i]);
-
+
nargw = pool_calloc(env->m->pool, len);
strcpy(nargw, env->m->argw);
strcat(nargw, " ");
- for (i = 0; i < j; j++) {
+ for (i = 0; i < j; i++) {
strcat(nargw, opts[i]);
strcat(nargw, " ");
}
@@ -1304,9 +1304,9 @@
strcat(nargw, program);
strcat(nargw, " ");
strcat(nargw, env->m->java.start_class);
- if (env->m->java.start_method) {
+ if (env->m->java.start_param) {
strcat(nargw, " ");
- strcat(nargw, env->m->java.start_method);
+ strcat(nargw, env->m->java.start_param);
}
env->m->argw = nargw;
program = env->m->java.path;
@@ -1520,9 +1520,12 @@
}
if (proc->argw)
set_service_param(proc, PROCRUN_PARAMS_CMDARGS, proc->argw, 0, 0);
- if (proc->service.description)
+ if (proc->service.description) {
set_service_param(proc, PROCRUN_PARAMS_DESCRIPTION,
proc->service.description, 0, 1);
+ set_service_param(proc, PROCRUN_PARAMS_DESCRIPTION,
+ proc->service.description, 0, 0);
+ }
if (proc->service.image)
set_service_param(proc, PROCRUN_PARAMS_IMAGE,
proc->service.image, 0, 0);
@@ -1694,9 +1697,12 @@
if (proc->argw)
set_service_param(proc, PROCRUN_PARAMS_CMDARGS, proc->argw, 0, 0);
- if (proc->service.description)
+ if (proc->service.description) {
set_service_param(proc, PROCRUN_PARAMS_DESCRIPTION,
proc->service.description, 0, 1);
+ set_service_param(proc, PROCRUN_PARAMS_DESCRIPTION,
+ proc->service.description, 0, 1);
+ }
if (proc->service.image)
set_service_param(proc, PROCRUN_PARAMS_IMAGE,
proc->service.image, 0, 0);
@@ -1843,6 +1849,14 @@
DBPRINTF0("Captured CTRL+C Event\n");
SetEvent(g_env->m->events[0]);
return TRUE;
+ case CTRL_CLOSE_EVENT:
+ DBPRINTF0("Captured CLOSE Event\n");
+ SetEvent(g_env->m->events[0]);
+ return TRUE;
+ case CTRL_SHUTDOWN_EVENT:
+ DBPRINTF0("Captured SHUTDOWN Event\n");
+ SetEvent(g_env->m->events[0]);
+ return TRUE;
break;
}
@@ -1853,10 +1867,12 @@
{
DWORD rv;
procrun_t *env = (procrun_t *)param;
+
if (!param)
return -1;
rv = procrun_init_jvm(env->m);
jni_detach(env->m);
+
SetEvent(env->m->events[0]);
return rv;
}
@@ -1939,7 +1955,7 @@
{NULL, NULL}
};
- SetConsoleCtrlHandler(console_ctrl, TRUE);
+ SetConsoleCtrlHandler((PHANDLER_ROUTINE)console_ctrl, TRUE);
env->m->pool = pool_create();
env->c->pool = pool_create();
for (i = 0; i < 4; i ++) {
@@ -1994,6 +2010,11 @@
#ifdef _DEBUG
debug_process(argc, argv, env->m);
#endif
+ if (env->m->service.description)
+ SetConsoleTitle(env->m->service.description);
+ else if (env->m->service.name)
+ SetConsoleTitle(env->m->service.name);
+
service_main(argc, argv);
break;
case PROCRUN_CMD_INSTALL_SERVICE:
@@ -2072,7 +2093,7 @@
int rv;
procrun_t *env = alloc_environment();
g_proc_mode = PROCRUN_MODE_WINAPP;
- g_env = env;
+ g_env = env;
rv = procrun_main(__argc, __argv, _environ, env);
@@ -2088,6 +2109,7 @@
g_proc_mode = PROCRUN_MODE_CONSOLE;
g_env = env;
+ AllocConsole();
procrun_main(argc, argv, _environ, env);
free_environment(env);
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org