The signal-chaining facility was introduced in JDK 1.4 nearly 20 years ago and supported three different Linux signal API's: sigset, signal and sigaction:
https://docs.oracle.com/javase/8/docs/technotes/guides/vm/signal-chaining.html
Only sigaction is a Posix supported API for multi-threaded processes, that we can use cross-platform. Both signal and sigset are obsolete and have undefined behaviour in a multi-threaded process. From the Linux man pages:
sigset: This API is obsolete: new applications should use the POSIX signal API (sigaction(2), sigprocmask(2), etc.)
signal: The behavior of signal() varies across UNIX versions, and has also varied historically across different versions of Linux. Avoid its use: use sigaction(2) instead.
We should deprecate the use of signal and sigset in JDK 16 with a view to their removal in JDK 17.
https://docs.oracle.com/javase/8/docs/technotes/guides/vm/signal-chaining.html
Only sigaction is a Posix supported API for multi-threaded processes, that we can use cross-platform. Both signal and sigset are obsolete and have undefined behaviour in a multi-threaded process. From the Linux man pages:
sigset: This API is obsolete: new applications should use the POSIX signal API (sigaction(2), sigprocmask(2), etc.)
signal: The behavior of signal() varies across UNIX versions, and has also varied historically across different versions of Linux. Avoid its use: use sigaction(2) instead.
We should deprecate the use of signal and sigset in JDK 16 with a view to their removal in JDK 17.
- csr for
-
JDK-8257573 Deprecate the archaic signal-chaining interfaces: sigset and signal
-
- Closed
-
- relates to
-
JDK-8344646 The libjsig deprecation warning should go to stderr not stdout
-
- Resolved
-
-
JDK-8257643 Remove the archaic signal-chaining interfaces: sigset and signal
-
- Resolved
-
-
JDK-8257467 [TESTBUG] -Wdeprecated-declarations is reported at sigset() in exesigtest.c
-
- Resolved
-
-
JDK-8345782 Refining the cases that libjsig deprecation warning is issued
-
- Resolved
-
-
JDK-4381843 Should use "signal-chaining" when replacing user signal handlers in JVM
-
- Closed
-
(1 relates to, 2 links to)