From: Vitaliy Makkoveev Subject: Unlock shutdown(2) To: tech@openbsd.org Date: Sat, 23 Mar 2024 15:49:29 +0300 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. 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); }