Index | Thread | Search

From:
Vitaliy Makkoveev <mvs@openbsd.org>
Subject:
Unlock shutdown(2)
To:
tech@openbsd.org
Date:
Sat, 23 Mar 2024 15:49:29 +0300

Download raw body.

Thread
  • Vitaliy Makkoveev:

    Unlock shutdown(2)

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); }