-
Enhancement
-
Resolution: Fixed
-
P4
-
16
-
b03
Here are the issues with current os::Bsd::set_signal_handler()
#1 According to https://pubs.opengroup.org/onlinepubs/009695399/functions/sigaction.html "The storage occupied by sa_handler and sa_sigaction may overlap, and a conforming application shall not use both simultaneously.", however, our code assumes they use different storages, which just happens to work on BSD/Linux right now
#2 The "bool set_installed" in the API is unused and can/should be removed
#3 We should be reusing existing methods, such as "set_our_sigflags()" instead of repeating the same code
#4 Comments could use cleanup and be expanded for those not familiar with details of signals
#5 Not directly related, but we could add assert to check whether we re-set the same signal
#1 According to https://pubs.opengroup.org/onlinepubs/009695399/functions/sigaction.html "The storage occupied by sa_handler and sa_sigaction may overlap, and a conforming application shall not use both simultaneously.", however, our code assumes they use different storages, which just happens to work on BSD/Linux right now
#2 The "bool set_installed" in the API is unused and can/should be removed
#3 We should be reusing existing methods, such as "set_our_sigflags()" instead of repeating the same code
#4 Comments could use cleanup and be expanded for those not familiar with details of signals
#5 Not directly related, but we could add assert to check whether we re-set the same signal
- is blocked by
-
JDK-8252324 Signal related code should be shared among POSIX platforms
-
- Resolved
-
- relates to
-
JDK-8250637 UseOSErrorReporting times out (on Mac and Linux)
-
- Resolved
-