Download raw body.
socket wait channels
Hi,
Wait channel names should be unique for easier debugging.
"netcon2" was copied from sys_connect() to sys_ypconnect(), better
call it "ypcon".
Calling the accept sleep "netcon" makes no sense. Better use
"netacc" for accept(2) and "netcon" for connect(2).
"netlck" for the socket buffer lock in bslock() can easily mixed
with "netlock" for the global network lock. How about "sblock" for
sblock()?
ok?
bluhm
Index: kern/uipc_socket2.c
===================================================================
RCS file: /data/mirror/openbsd/cvs/src/sys/kern/uipc_socket2.c,v
diff -u -p -r1.149 uipc_socket2.c
--- kern/uipc_socket2.c 11 Apr 2024 13:32:51 -0000 1.149
+++ kern/uipc_socket2.c 25 Apr 2024 13:45:23 -0000
@@ -559,7 +559,7 @@ sblock(struct socket *so, struct sockbuf
while (sb->sb_flags & SB_LOCK) {
sb->sb_flags |= SB_WANT;
mtx_leave(&sb->sb_mtx);
- error = sosleep_nsec(so, &sb->sb_flags, prio, "netlck", INFSLP);
+ error = sosleep_nsec(so, &sb->sb_flags, prio, "sblock", INFSLP);
if (error)
return (error);
mtx_enter(&sb->sb_mtx);
Index: kern/uipc_syscalls.c
===================================================================
RCS file: /data/mirror/openbsd/cvs/src/sys/kern/uipc_syscalls.c,v
diff -u -p -r1.218 uipc_syscalls.c
--- kern/uipc_syscalls.c 1 Mar 2024 14:15:01 -0000 1.218
+++ kern/uipc_syscalls.c 25 Apr 2024 13:45:12 -0000
@@ -300,7 +300,7 @@ doaccept(struct proc *p, int sock, struc
break;
}
error = sosleep_nsec(head, &head->so_timeo, PSOCK | PCATCH,
- "netcon", INFSLP);
+ "netacc", INFSLP);
if (error)
goto out_unlock;
}
@@ -428,7 +428,7 @@ sys_connect(struct proc *p, void *v, reg
}
while ((so->so_state & SS_ISCONNECTING) && so->so_error == 0) {
error = sosleep_nsec(so, &so->so_timeo, PSOCK | PCATCH,
- "netcon2", INFSLP);
+ "netcon", INFSLP);
if (error) {
if (error == EINTR || error == ERESTART)
interrupted = 1;
@@ -1651,7 +1651,7 @@ out:
error = soconnect(so, nam);
while ((so->so_state & SS_ISCONNECTING) && so->so_error == 0) {
error = sosleep_nsec(so, &so->so_timeo, PSOCK | PCATCH,
- "netcon2", INFSLP);
+ "ypcon", INFSLP);
if (error)
break;
}
socket wait channels