Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8257572

Deprecate the archaic signal-chaining interfaces: sigset and signal

    XMLWordPrintable

Details

    • b28

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              dholmes David Holmes
              dholmes David Holmes
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: