RFR (10) (S) 8175817: Clean up Solaris signal code: SIGUSR2, SIGasync, SIGJVM1/2

David Holmes david.holmes at oracle.com
Sat Mar 18 10:13:43 UTC 2017

Hi Dmitry,

On 18/03/2017 6:03 PM, Dmitry Samersoff wrote:
> David,
> Looks good to me.

Thanks for looking at this.

> I'm not sure we need a strict check of libjsig version
> at os_solaris.cpp:4044 but it worth to have it.

Having just explained the versioning situation in reply to Thomas I 
realise that this guarantee is pointless: if the get_version function 
exists then the only thing it can return is JSIG_VERSION_1_4_1, as that 
is the only version we've ever set. I'll change it to an assert just as 
a sanity check.


> -Dmitry
> On 2017-03-18 00:58, David Holmes wrote:
>> Can I get a Review please.
>> Thanks,
>> David
>> On 16/03/2017 11:00 PM, David Holmes wrote:
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8175817
>>> webrev: http://cr.openjdk.java.net/~dholmes/8175817/webrev/
>>> On Solaris SIGasync represents what we call the "SR signal" on other
>>> platforms (the event-based suspend/resume signal), and it is hardwired
>>> to SIGJVM2 (a dedicated JVM signal on Solaris 10+).
>>> As this signal is hard-wired and has not been user-definable at runtime
>>> for a very long time, we can do away with the SIGasync field and its
>>> setter and getter, and simply define ASYNC_SIGNAL as SIGJVM2 (not
>>> SIGUSR2 as the code currently suggests!). Once this is a build time
>>> constant it simplifies some other code.
>>> We can also stop trying to account for SIGJVM1/2 not existing as they
>>> must exist on the supported Solaris platforms.
>>> We can also stop trying to deal with an older libjsig (the logic for
>>> which has a bug anyway: used <= instead of < in the version check).
>>> Overall just a bit of simplification and cleanup. No functional changes.
>>> Testing: JPRT
>>> Thanks,
>>> David

More information about the hotspot-runtime-dev mailing list