Download raw body.
socket shutdown shared net lock
> On 17 Mar 2025, at 23:32, Alexander Bluhm <bluhm@openbsd.org> wrote: > > Hi, > > Socket shutdown(2) needs only shared net lock. TCP uses per socket > lock for struct tcpcb. tcp_usrclosed(), tcp_close(), soisdisconnected() > are already MP safe. All other internet protocols call only > socantsendmore(). > > ok? > ok mvs > bluhm > > Index: kern/uipc_socket.c > =================================================================== > RCS file: /data/mirror/openbsd/cvs/src/sys/kern/uipc_socket.c,v > diff -u -p -r1.374 uipc_socket.c > --- kern/uipc_socket.c 17 Feb 2025 08:56:33 -0000 1.374 > +++ kern/uipc_socket.c 17 Mar 2025 00:04:41 -0000 > @@ -1252,9 +1252,9 @@ soshutdown(struct socket *so, int how) > sorflush(so); > /* FALLTHROUGH */ > case SHUT_WR: > - solock(so); > + solock_shared(so); > error = pru_shutdown(so); > - sounlock(so); > + sounlock_shared(so); > break; > default: > error = EINVAL; >
socket shutdown shared net lock