-
Enhancement
-
Resolution: Won't Fix
-
P4
-
16
The tests in runtime/signal are supposed to the test the use of signal handlers by user code in conjunction with the JVM. They test a number of scenarios in relartion to the installation of the signal handler before, or after the VM is created, and whether the signal is sent before or after the VM is destroyed. To correctly interact with the JVM signal handlers after they are installed, the signal interposition library (libjsig.so) has to be used by the application to install its own signal handlers. The two test modes postpre and postpost test this by adding libjsig.so to LD_PRELOAD.
Unfortunately the postpre and postpost test modes pass even if libjsig is not used. The reason being that the test doesn't actually check that the JVM signal handling is intact after the application handler has been installed (which will not be the case if libjsig has not been used).
To fix this we could possibly add a WhiteBox function for the test to call e.g.
boolean checkSignal(int sig);
that will see if sig is a signal for which the JVM installs its own handler, and whether that handler is in fact installed. We can then test the post* modes both with and without use of libjsig.
Unfortunately the postpre and postpost test modes pass even if libjsig is not used. The reason being that the test doesn't actually check that the JVM signal handling is intact after the application handler has been installed (which will not be the case if libjsig has not been used).
To fix this we could possibly add a WhiteBox function for the test to call e.g.
boolean checkSignal(int sig);
that will see if sig is a signal for which the JVM installs its own handler, and whether that handler is in fact installed. We can then test the post* modes both with and without use of libjsig.
- relates to
-
JDK-8346381 libjsig on MacOSX is broken
-
- Open
-