Author: jfclere
Date: Sat Aug 20 01:21:58 2005
New Revision: 234007

URL: http://svn.apache.org/viewcvs?rev=234007&view=rev
Log:
prevent core when libjvm.so is not found in linux.

Modified:
    jakarta/commons/proper/daemon/trunk/src/native/unix/native/java.c
    jakarta/commons/proper/daemon/trunk/src/native/unix/native/jsvc-unix.c

Modified: jakarta/commons/proper/daemon/trunk/src/native/unix/native/java.c
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/daemon/trunk/src/native/unix/native/java.c?rev=234007&r1=234006&r2=234007&view=diff
==============================================================================
--- jakarta/commons/proper/daemon/trunk/src/native/unix/native/java.c (original)
+++ jakarta/commons/proper/daemon/trunk/src/native/unix/native/java.c Sat Aug 
20 01:21:58 2005
@@ -56,7 +56,7 @@
     /* Did we find ANY virtual machine? */
     if (data->jnum==0) {
         log_error("Cannot find any VM in Java Home %s",data->path);
-        return(false);
+        return(NULL);
     }
 
     /* Select the VM */

Modified: jakarta/commons/proper/daemon/trunk/src/native/unix/native/jsvc-unix.c
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/daemon/trunk/src/native/unix/native/jsvc-unix.c?rev=234007&r1=234006&r2=234007&view=diff
==============================================================================
--- jakarta/commons/proper/daemon/trunk/src/native/unix/native/jsvc-unix.c 
(original)
+++ jakarta/commons/proper/daemon/trunk/src/native/unix/native/jsvc-unix.c Sat 
Aug 20 01:21:58 2005
@@ -638,21 +638,28 @@
         char *p1=NULL;
         char *p2=NULL;
 
-        p1=strdup(libf);
-        tmp=strrchr(p1,'/');
-        if (tmp!=NULL) tmp[0]='\0';
+        /*
+         * There is no need to change LD_LIBRARY_PATH
+         * if we were not able to find a path to libjvm.so
+         * (additionaly a strdup(NULL) cores dump on my machine).
+         */
+        if (libf!=NULL) {
+            p1=strdup(libf);
+            tmp=strrchr(p1,'/');
+            if (tmp!=NULL) tmp[0]='\0';
 
-        p2=strdup(p1);
-        tmp=strrchr(p2,'/');
-        if (tmp!=NULL) tmp[0]='\0';
+            p2=strdup(p1);
+            tmp=strrchr(p2,'/');
+            if (tmp!=NULL) tmp[0]='\0';
 
-        if (oldpath==NULL) snprintf(buf,2048,"%s:%s",p1,p2);
-        else snprintf(buf,2048,"%s:%s:%s",oldpath,p1,p2);
+            if (oldpath==NULL) snprintf(buf,2048,"%s:%s",p1,p2);
+            else snprintf(buf,2048,"%s:%s:%s",oldpath,p1,p2);
 
-        tmp=strdup(buf);
-        setenv("LD_LIBRARY_PATH",tmp,1);
+            tmp=strdup(buf);
+            setenv("LD_LIBRARY_PATH",tmp,1);
 
-        log_debug("Invoking w/ LD_LIBRARY_PATH=%s",getenv("LD_LIBRARY_PATH"));
+            log_debug("Invoking w/ 
LD_LIBRARY_PATH=%s",getenv("LD_LIBRARY_PATH"));
+        }
 
         /* execve needs a full path */
         ret = readlink("/proc/self/exe",buf,sizeof(buf)-1);



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to