Can I please get a review of this change which addresses the issue noted in 
https://bugs.openjdk.org/browse/JDK-8392732?

On macos 27, it appears that the limit imposed by the OS for the `SO_LINGER` 
socket option has changed. It now fails with a `EDOM` (Numerical argument out 
of domain) error for values greater than 32767. 

The commit in this PR updates the JDK's code to limit the user provided value 
for linger to 32767. If the provided value is greater than 32767, then 
`SO_LINGER` will be set to 32767. The `Socket.setSoLinger(...)` already states 
that:

> The maximum timeout value is platform specific.  

so this change doesn't require additional specification changes. Furthermore, 
the change applies this new limit to all versions of macos since the 32767 
value is large enough for practical uses of lingering on close of a socket.

tier testing with this change has completed without any issues (on all 
platforms and on macos older versions as well as macos 27).
---------
- [x] I confirm that I make this contribution in accordance with the [OpenJDK 
Interim AI Policy](https://openjdk.org/legal/ai).

-------------

Commit messages:
 - merge latest from master branch
 - 8392732: test/jdk/java/net/Socket/SetSoLinger.java fails on macos 27 - 
java.net.SocketException: Numerical argument out of domain

Changes: https://git.openjdk.org/jdk/pull/32961/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=32961&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8392732
  Stats: 48 lines in 2 files changed: 21 ins; 4 del; 23 mod
  Patch: https://git.openjdk.org/jdk/pull/32961.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/32961/head:pull/32961

PR: https://git.openjdk.org/jdk/pull/32961

Reply via email to