RFR: 8257572: Deprecate the archaic signal-chaining interfaces: sigset and signal

David Holmes david.holmes at oracle.com
Sun Dec 6 10:12:33 UTC 2020


Hi Thomas,

On 6/12/2020 1:26 am, Thomas Stuefe wrote:
> On Thu, 3 Dec 2020 14:40:26 GMT, Daniel D. Daugherty <dcubed at openjdk.org> wrote:
> 
>>> 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.
>>>
>>> A CSR request has been filed.
>>>
>>> Testing: hotspot/jtreg/runtime/signal tests
>>>
>>> Thanks,
>>> David
>>
>> Thumbs up on the jsig.c change. No comment on the Lib.gmk change.
> 
> Hi David,
> 
> I am fine with this, but since this is possibly a breaking change would this not need a release note?

Well it isn't breaking anything at this stage as we are just issuing a 
deprecation warning. :) But yes I have filed a release note as well.

Thanks,
David

> ..Thomas
> 
> -------------
> 
> PR: https://git.openjdk.java.net/jdk/pull/1587
> 



More information about the build-dev mailing list