From: Alexander Bluhm Subject: Re: Unlock shutdown(2) To: Vitaliy Makkoveev Cc: tech@openbsd.org Date: Mon, 25 Mar 2024 16:26:10 +0100 On Sat, Mar 23, 2024 at 03:49:29PM +0300, Vitaliy Makkoveev wrote: > For all except tcp(4) cases it is simple socantsendmore() and > socantrcvmore() calls. tcp_shutdown() also calls tcp_dodisconnect() and > tcp_output() which are moved from kernel lock long time ago. OK bluhm@ > Index: sys/kern/syscalls.master > =================================================================== > RCS file: /cvs/src/sys/kern/syscalls.master,v > retrieving revision 1.257 > diff -u -p -r1.257 syscalls.master > --- sys/kern/syscalls.master 26 Jan 2024 18:24:23 -0000 1.257 > +++ sys/kern/syscalls.master 23 Mar 2024 12:35:14 -0000 > @@ -268,7 +268,7 @@ > 133 STD NOLOCK { ssize_t sys_sendto(int s, const void *buf, \ > size_t len, int flags, const struct sockaddr *to, \ > socklen_t tolen); } > -134 STD { int sys_shutdown(int s, int how); } > +134 STD NOLOCK { int sys_shutdown(int s, int how); } > 135 STD NOLOCK { int sys_socketpair(int domain, int type, \ > int protocol, int *rsv); } > 136 STD { int sys_mkdir(const char *path, mode_t mode); }