CVSROOT: /cvs Module name: src Changes by: m...@cvs.openbsd.org 2024/12/31 05:19:46
Modified files: sys/kern : uipc_socket.c sys/netinet : tcp_input.c tcp_output.c tcp_usrreq.c Log message: Use per-sockbuf mutex(9) to protect `so_snd' buffer of tcp(4) sockets. Even for tcp(4) case, sosend() only checks `so_snd' free space and sleeps if necessary, actual buffer handling happens in solock()ed PCB layer. Only unlock sosend() path, the somove() is still locked exclusively. The "if (dosolock)" dances are useless, but intentionally left as is. Tested and ok by bluhm.