Date: Mon, 19 Nov 2001 12:15:56 -0800 From: Joe Kelsey <joe@zircon.seattle.wa.us> To: Bill Huey <billh@gnuppy.monkey.org>, freebsd-java@freebsd.org Subject: Re: Plugin status Message-ID: <15353.26748.393858.772996@zircon.zircon.seattle.wa.us> In-Reply-To: <20011119113153.B7857@gnuppy> References: <15353.18978.717379.778079@zircon.zircon.seattle.wa.us> <20011119113153.B7857@gnuppy>
next in thread | previous in thread | raw e-mail | index | archive | help
Bill Huey writes:
> On Mon, Nov 19, 2001 at 10:06:26AM -0800, Joe Kelsey wrote:
> > We can solve the nspr4/mozilla problem by including a copy of the i386
> > nspr4 library in
> > j2sdk1.3.1/plugin/.oji-plugin/src/motif/lib/solaris/i386/libnspr4.so as
> > part of the port. It's up to Greg.
> What is that library ? a pthreads abstraction layer ?
nspr=NetScape mumble, mumble...essentially the netscape standard calling
sequences...
> I wasn't sure that the plugin worked with anything other than native
> threading. Any quick pointers to the sources for it off hand so that I
> can look how it would interact with the JVM's threading systems
> (native, green) ?
The plugin itself has nothing to do with threading model.
libjavaplugin_oji.so is merely a method of creating a child process
(fork) with several pipes open to the Mozilla parent for passing
requests back and forth. The parent (Mozilla) does not actually include
a jvm in it's address space. The child process is essentially the
executable java_vm using whatever threading model is specified by the
environment variables (THREADS_FLAG in the parent is transformed into
THREADS_TYPE for the child). It should make no difference what thread
model is used in the child, as the only thing plugin-related is entirely
contained in
j2sdk1.3.1/ext/plugin/oji-plugin/src/motif/jvm_{exec,natives}/*, which
are used to build the executable java_vm, which is installed in the jre
lib hierarchy.
If you look at
j2sdk1.3.1/ext/plugin/oji-plugin/src/motif/jvm_exec/java_vm.c, you will
see where the plugin fails in its current state. This is a very simple
file and only sets up the environment for the jvm to run in. According
to my traces, it gets as far as printing the JNI_VERSION and calls the
function JNI_CreateJavaVM, but somehow fails during that function,
killing both the child and parent mozilla processes.
As far as I know, there is nothing controversial about the trace or the
processing. It is entirely possible that I am missing something. I
believe that the JNI_CreateJavaVM function is in libjvm.so, a standard
library.
/Joe
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15353.26748.393858.772996>
