Let's try this again now that the kernel locking issue in nfsrv_rcv()
has been fixed.
The previous attempt of the conversion triggered hangs on NFS servers.
This was probably caused by the removal of the kernel-locked section
just prior to the socket upcall. The section had masked a locking error
in NFS code.
-/* $OpenBSD: uipc_socket.c,v 1.279 2022/07/01 09:56:17 mvs Exp $ */
+/* $OpenBSD: uipc_socket.c,v 1.280 2022/07/25 07:28:22 visa Exp $ */
/* $NetBSD: uipc_socket.c,v 1.21 1996/02/04 02:17:52 christos Exp $ */
/*
sohasoutofband(struct socket *so)
{
pgsigio(&so->so_sigio, SIGURG, 0);
- selwakeup(&so->so_rcv.sb_sel);
+ KNOTE(&so->so_rcv.sb_sel.si_note, 0);
}
int
-/* $OpenBSD: uipc_socket2.c,v 1.125 2022/07/01 09:56:17 mvs Exp $ */
+/* $OpenBSD: uipc_socket2.c,v 1.126 2022/07/25 07:28:22 visa Exp $ */
/* $NetBSD: uipc_socket2.c,v 1.11 1996/02/04 02:17:55 christos Exp $ */
/*
}
if (sb->sb_flags & SB_ASYNC)
pgsigio(&so->so_sigio, SIGIO, 0);
- selwakeup(&sb->sb_sel);
+ KNOTE(&sb->sb_sel.si_note, 0);
}
/*