You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by sh...@locus.apache.org on 2000/05/19 11:16:27 UTC
cvs commit: jakarta-tomcat/src/native/jk jk_jni_worker.c
shachor 00/05/19 02:16:27
Modified: src/native/jk jk_jni_worker.c
Log:
Have the JNI code compile on NT
Revision Changes Path
1.6 +69 -68 jakarta-tomcat/src/native/jk/jk_jni_worker.c
Index: jk_jni_worker.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat/src/native/jk/jk_jni_worker.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- jk_jni_worker.c 2000/05/18 19:41:46 1.5
+++ jk_jni_worker.c 2000/05/19 09:16:26 1.6
@@ -57,7 +57,7 @@
* Description: In process JNI worker *
* Author: Gal Shachor <sh...@il.ibm.com> *
* Based on: *
- * Version: $Revision: 1.5 $ *
+ * Version: $Revision: 1.6 $ *
***************************************************************************/
#ifndef WIN32
@@ -178,6 +178,32 @@
static void detach_from_jvm(jni_worker_t *p);
+
+#ifndef WIN32
+static void linux_signal_hack() {
+ sigset_t newM;
+ sigset_t old;
+
+ sigemptyset(&newM);
+ pthread_sigmask( SIG_SETMASK, &newM, &old );
+
+ sigdelset(&old, SIGUSR1 );
+ sigdelset(&old, SIGUSR2 );
+ sigdelset(&old, SIGUNUSED );
+ sigdelset(&old, SIGRTMIN );
+ sigdelset(&old, SIGRTMIN + 1 );
+ sigdelset(&old, SIGRTMIN + 2 );
+ pthread_sigmask( SIG_SETMASK, &old, NULL );
+}
+
+static void print_signals( sigset_t *sset) {
+ int sig;
+ for (sig = 1; sig < 20; sig++)
+ { if (sigismember(sset, sig)) {printf( " %d", sig);} }
+ printf( "\n");
+}
+#endif
+
static int JK_METHOD service(jk_endpoint_t *e,
jk_ws_service_t *s,
jk_logger_t *l,
@@ -265,7 +291,7 @@
char *str_config = NULL;
JNIEnv *env;
- jk_log(l, JK_LOG_DEBUG, "Into jni_validate\n");
+ jk_log(l, JK_LOG_DEBUG, "Into jni_validate\n");
if(p->was_verified) {
return JK_TRUE;
}
@@ -283,7 +309,7 @@
}
if(!p->tomcat_classpath) {
- jk_log(l, JK_LOG_EMERG, "Fail-> no classpath\n");
+ jk_log(l, JK_LOG_EMERG, "Fail-> no classpath\n");
return JK_FALSE;
}
@@ -292,8 +318,8 @@
}
if(!p->jvm_dll_path ||
- !jk_file_exists(p->jvm_dll_path)) {
- jk_log(l, JK_LOG_EMERG, "Fail-> no jvm_dll_path\n");
+ !jk_file_exists(p->jvm_dll_path)) {
+ jk_log(l, JK_LOG_EMERG, "Fail-> no jvm_dll_path\n");
return JK_FALSE;
}
@@ -317,35 +343,35 @@
jk_append_libpath(&p->p, str_config);
}
-
- if( ! load_jvm_dll(p, l)) {
- jk_log(l, JK_LOG_EMERG, "Fail-> can't load jvm dll\n");
- detach_from_jvm(p);
- return JK_FALSE;
- }
+ if(!load_jvm_dll(p, l)) {
+ jk_log(l, JK_LOG_EMERG, "Fail-> can't load jvm dll\n");
+ detach_from_jvm(p);
+ return JK_FALSE;
+ }
- if( ! open_jvm(p, &env, l)) {
- jk_log(l, JK_LOG_EMERG, "Fail-> can't open jvm\n");
- detach_from_jvm(p);
- return JK_FALSE;
- }
+ if(!open_jvm(p, &env, l)) {
+ jk_log(l, JK_LOG_EMERG, "Fail-> can't open jvm\n");
+ detach_from_jvm(p);
+ return JK_FALSE;
+ }
- if( ! get_bridge_object(p, env, l)) {
- jk_log(l, JK_LOG_EMERG, "Fail-> can't get bridge object\n");
- detach_from_jvm(p);
- return JK_FALSE;
- }
+ if(!get_bridge_object(p, env, l)) {
+ jk_log(l, JK_LOG_EMERG, "Fail-> can't get bridge object\n");
+ detach_from_jvm(p);
+ return JK_FALSE;
+ }
- if( ! get_method_ids(p, env, l)) {
- jk_log(l, JK_LOG_EMERG, "Fail-> can't get method ids\n");
- detach_from_jvm(p);
- return JK_FALSE;
- }
+ if(!get_method_ids(p, env, l)) {
+ jk_log(l, JK_LOG_EMERG, "Fail-> can't get method ids\n");
+ detach_from_jvm(p);
+ return JK_FALSE;
+ }
- p->was_verified = JK_TRUE;
- return JK_TRUE;
+ p->was_verified = JK_TRUE;
+ return JK_TRUE;
}
+ return JK_FALSE;
}
static int JK_METHOD init(jk_worker_t *pThis,
@@ -543,9 +569,9 @@
#else
void *handle = dlopen(p->jvm_dll_path, RTLD_NOW | RTLD_GLOBAL);
if(!handle) {
- jk_log(l, JK_LOG_EMERG, "Can't log native library %s : %s\n", p->jvm_dll_path,
- dlerror() );
- return JK_FALSE;
+ jk_log(l, JK_LOG_EMERG, "Can't log native library %s : %s\n", p->jvm_dll_path,
+ dlerror() );
+ return JK_FALSE;
}
{
jni_create_java_vm = dlsym(handle, "JNI_CreateJavaVM");
@@ -553,10 +579,11 @@
if( jni_create_java_vm && jni_get_default_java_vm_init_args ) {
return JK_TRUE;
}
- jk_log(l, JK_LOG_EMERG, "Can't find JNI_CreateJavaVM or JNI_GetDefaultJavaVMInitArgs\n");
+ jk_log(l, JK_LOG_EMERG, "Can't find JNI_CreateJavaVM or JNI_GetDefaultJavaVMInitArgs\n");
dlclose(handle);
}
#endif
+ return JK_FALSE;
}
static int open_jvm(jni_worker_t *p,
@@ -626,7 +653,6 @@
{
JavaVMInitArgs vm_args;
JNIEnv *penv;
- int err;
JavaVMOption options[1];
*env = NULL;
@@ -637,18 +663,17 @@
/* Set classpath */
{
- unsigned len = strlen("-Djava.class.path=") +
- strlen(p->tomcat_classpath) +
- 2;
- char *tmp = jk_pool_alloc(&p->p, len);
- if(tmp) {
- sprintf(tmp, "-Djava.class.path=%s",
+ unsigned len = strlen("-Djava.class.path=") +
+ strlen(p->tomcat_classpath) + 2;
+ char *tmp = jk_pool_alloc(&p->p, len);
+ if(tmp) {
+ sprintf(tmp, "-Djava.class.path=%s",
p->tomcat_classpath );
- options[0].optionString = tmp;
- } else {
- jk_log(l, JK_LOG_EMERG, "Fail-> allocation error for classpath\n");
- return JK_FALSE;
- }
+ options[0].optionString = tmp;
+ } else {
+ jk_log(l, JK_LOG_EMERG, "Fail-> allocation error for classpath\n");
+ return JK_FALSE;
+ }
}
jk_log(l, JK_LOG_DEBUG, "Set classpath to %s\n", options[0].optionString);
@@ -756,30 +781,6 @@
}
return NULL;
-}
-
-
-static void linux_signal_hack() {
- sigset_t newM;
- sigset_t old;
-
- sigemptyset(&newM);
- pthread_sigmask( SIG_SETMASK, &newM, &old );
-
- sigdelset(&old, SIGUSR1 );
- sigdelset(&old, SIGUSR2 );
- sigdelset(&old, SIGUNUSED );
- sigdelset(&old, SIGRTMIN );
- sigdelset(&old, SIGRTMIN + 1 );
- sigdelset(&old, SIGRTMIN + 2 );
- pthread_sigmask( SIG_SETMASK, &old, NULL );
-}
-
-static void print_signals( sigset_t *sset) {
- int sig;
- for (sig = 1; sig < 20; sig++)
- { if (sigismember(sset, sig)) {printf( " %d", sig);} }
- printf( "\n");
}
static void detach_from_jvm(jni_worker_t *p)