NonStop Server for Java 7.0 Programmer's Reference

AttachCurrentThread() return JNI_EUNSUPPORTED error if they are called from the
main thread with distributed GC enabled.
NOTE: All the instances of distributed GC in this manual refer to parallel and CMS GC.
Compile code written in C++ by using the compiler command-line options as explained in
“Linker and compiler options” (page 38).
NSJ7 provides DLLs. Therefore, you can build your own executable and link it to the JVM DLL,
libjvm.so.
For more information, see invocation_api demo provided with the NSJ7 installation.
Do not set signal handlers for the following signals:
SIGSEGV
SIGPIPE
SIGCHLD
SIGINT
SIGQUIT
SIGTERM
SIGHUP
SIGWINCH
SIGALRM
SIGSTK
SIGILL
Set the executable to use IEEE floating-point.
NSJ7 does not support the signal-chaining facility implemented in some other vendors' JVMs.
When a program uses the Invocation API to start a JVM, its function returns parameters of type
float or double that are in IEEE floating-point format. Any parameters of type float or double
that are passed to NSJ7 must be in IEEE floating-point format. If such a program requires conversion
between TNS floating-point format and IEEE floating-point format, the Guardian Procedure Calls
Reference Manual documents a series of procedures with names beginning with NSK_FLOAT_ that
can be used to convert float and double data between the two formats.
To run the Invocation API demo, follow the instructions in the README file in directory
/usr/tandem/nssjava/jdk170_h70/demo/invocation_api. Directory location of
invocation_api (for 32–bit and 64–bit NSJ7) demo programs are listed in Table 4 (page 29).
Linker and compiler options
Compiler options
You can use C++ code compiled using either a dialect of version 2 or version 3 for user DLLs
because NSJ7 is built with a C++ version neutral flag (the set CPlusPlusDialect neutral
option for the linker). To compile using version 2, the following compiler option must be used:
Wversion2.
Wversion3 is the default version for TNS/E native compilers, and hence it is not needed to be
defined in the compile command-line.
38 Implementation specifics