RFR 8252248: __SIGRTMAX is not declared in musl libc
Thomas Stüfe
thomas.stuefe at gmail.com
Fri Aug 28 16:24:13 UTC 2020
Looks good to me. Thanks for checking.
Cheers, Thomas
On Fri, Aug 28, 2020 at 1:25 PM Alexander Scherbatiy <
alexander.scherbatiy at bell-sw.com> wrote:
> Hello,
>
> Could you review the updated fix:
> http://cr.openjdk.java.net/~alexsch/8252248/webrev.01/
>
> - moving shared code to net_util_md.h is avoided
> - INTERRUPT_SIGNAL is defined as SIGRTMAX - 2 instead of __SIGRTMAX -
> 2 for Linux in NativeThread.c
> - "#include <pthread.h>" is moved out from "#ifdef" in NativeThread.c
> - sigWakeup is changed to "#define WAKEUP_SIGNAL (SIGRTMAX - 2)" in
> linux_close.c
>
> At least test/jdk/java/net/Socket/asyncClose/AsyncClose.java touches all
> four methods where the signal changes are used:
> NativeThread.c
> - Java_sun_nio_ch_NativeThread_init(JNIEnv *env, jclass cl)
> - Java_sun_nio_ch_NativeThread_signal(JNIEnv *env, jclass cl, jlong thread)
> linux_close.c
> - __attribute((constructor)) init()
> - closefd(int fd1, int fd2)
>
> I run test/jdk/java/net tests on Ubuntu 18.04.4 and Alpine Linux 3.11.6
> with musl libc 1.1.24.
> There are 10 failed tests but they fail without the fix as well. I
> believe that it is because of some network settings of my machine.
>
> java/net/MulticastSocket/IPMulticastIF.java
> java/net/MulticastSocket/NoSetNetworkInterface.java
> java/net/MulticastSocket/Promiscuous.java
> java/net/MulticastSocket/PromiscuousIPv6.java
> java/net/MulticastSocket/SetGetNetworkInterfaceTest.java
> java/net/MulticastSocket/SetLoopbackMode.java
> java/net/MulticastSocket/SetOutgoingIf.java
> java/net/MulticastSocket/Test.java
> java/net/NetworkInterface/NetworkInterfaceRetrievalTests.java
> java/net/ipv6tests/UdpTest.java
>
> Thanks,
> Alexander.
>
> On 26.08.2020 13:42, Alan Bateman wrote:
> > On 25/08/2020 18:00, Alexander Scherbatiy wrote:
> >>
> >> Hello,
> >>
> >> Could your review the fix for the issue:
> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8252248
> >> Fix: http://cr.openjdk.java.net/~alexsch/8252248/webrev.00/
> >>
> >> :
> >>
> >> The fix has been discussed on the portola-dev alias [2] where it was
> >> pointed out that the fix can be reviewed in the mainline and it was
> >> suggested to rename the INTERRUPT_SIGNAL and move its definition to
> >> net_util_md.h.
> >>
> > The xxx_close.c sources are for the old SocketImpl and
> > DatagramSocketImpl implementations; they are aren't used by default
> > and will eventually go away. Maybe an option for the musl port is to
> > just not compile in the old socket implementations? It might be best
> > to start a discussion on nio-dev and net-dev about this as we
> > shouldn't be changing NativeThread.c (which is used for signalling in
> > the FileChannel implementation) to include net_util.h.
> >
> > -Alan
>
More information about the core-libs-dev
mailing list