On 04/11/2012 02:04 PM, Tor Lillqvist wrote:
The one problem is that UNO "named pipe" (i.e., --accept=pipe,name=foo;urp)
communication, even from within a pure Java environment, needs some native
code (jpipe JNI library) which obviously needs to be available in the format
of the JVM process's architecture.
OK. So would it be feasible to build this jpipe JNI library also as
64-bit code, even if LO as such is built as 32-bit code? (We already
have some mechanisms for stuff like this in place, to build the
Explorer extension code also as 64-bit.) (Whether that actually works
is another question, though, there has been bug reports about the
Explorer extension recently...)
The source for this jpipe library (or actually, for jpipx.dll, which
is wrapped by a thin jpipe.dll on Windows) is
jurt/source/pipe/com_sun_star_lib_connections_pipe_PipeConnection.c, I
assume?
Should be doable. Question is if it is worth it. There might be
additional native code involved that I forgot about. I would first
check whether using TCP sockets instead of "named pipes" for UNO
communication solves the OP's problem. An alternative would be to
invest work in a 64 bit Windows LO. (Another alternative might be for
the OP to use 32 bit Java on Windows?) On the con side, every addition
makes the fat code base even fatter.
I see that it does #include "osl/security.h", and that jpipx.dll
imports from sal3.dll a handful of osl_ and rtl_ functions. So those
would have to be built as 64-bit code, too. Still, not rocket science.
(I would even say that it would be best to just copy-paste those
functions into the com_sun_star_lib_connections_pipe_PipeConnection.c,
and not have any separate wrapper dll at all, just a jpipe.dll that
doesn't import sal3.dll.
I would prefer keeping the wrapper library here instead of duplicating code.
Stephan
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.