Pier Fumagalli wrote:
> "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote:
> 
> 
>>On Fri, 12 Apr 2002, Pier Fumagalli wrote:
>>
>>
>>>>>Then it won't work... BTW, I hope you guys are not trying to load APR from
>>>>>the VM, right? Because if so, I _really_ want to see how you can do it on
>>>>>Mach-O kernel based Oses :)
>>>>
>>mod_jk2 is using APR, and on the java side the JNI and Unix socket
>>implementations are using APR. In addition we'll use APR to access shm,
>>etc.
>>
>>The socket transport will allways work - so if a VM can't load APR it can
>>use socket transport and ignore the advanced features ( or wait for a
>>fixed VM that supports JNI ).
> 
> 
> It's not a matter of fixing the VM...
> 
> 
>>>And to explain it better, on some Oses, such as Apple's MacOS/X,
>>>System.load() will only load MH_BUNDLE libraries in the memory space, not
>>>common DYLIBs. So, you'd have to have a MH_BUNDLE containing the dlopen()
>>>(or however that function is called), so that you can load something like
>>>APR, once that's loaded you register the functions and such, and
>>>yadayadayada... Native loader... Way too compicarted...
>>
>>So the VM supports JNI, but the JNI functions can't use any library ?
>>Sounds like a serious bug. Hopefully we'll find a workaround, or just use
>>socket transport from java.
> 
> 
> Nope... The VM can load JNI libraries when those are linked as MH_BUNDLE,
> which is a great feature of Mach-O: it's basically the separation in concept
> of "library" and "plug-in". A plug-in is a MH_BUNDLE, and that gets loaded
> within the scope of the VM as RTLD_LOCAL does on dyld systems. Sure that a
> plugin can rely on external libraries (DYLIB or RTLD_GLOBAL), but those need
> to be read before the VM start to avoid runtime linkage errors (if there's a
> dual definition of a symbol, with RTLD_GLOBAL I'm dead, as I'll never know
> where my code will crash).
> 
> That's why there's that nice environment *_PRELOAD (*=DYLD/LD), which links
> the binary at process startup and will not make the process start if
> something is not right.
> 
> The JVM _is_ behaving correctly, no bug whatsoever, the problem is that you
> don't have to confuse a pluging (MH_BUNDLE, RTLD_LOCAL) with a library
> (DYLIB, RTLD_GLOBAL)... All nice and clean.

Is testing on moof.apache.org a good idea?

man dlopen there shows the following:
+++
BUGS
      An error that occurs while processing a dlopen() request results in the
      termination of the program.
+++

> 
> 
>>>believe we were still waiting for Costin to get the approval for
>>>SilverEgg's...
>>
>>jakarta-commons - I sent the proposal, it got the votes.
> 
> 
> Craps another ml to check. :(
> 
>     Pier
> 
> --
> I think that it's extremely foolish to name a server after the current U.S.
> President.                                                 B.W. Fitzpatrick
> 
> 
> 
> --
> To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
> 
> 
> 




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

Reply via email to