CVSROOT:        /cvs
Module name:    src
Changes by:     m...@cvs.openbsd.org    2024/04/30 11:59:15

Modified files:
        sys/kern       : sys_socket.c uipc_socket.c uipc_socket2.c 

Log message:
Push  solock() down to sosend() for SOCK_RAW sockets.

Raw sockets are the simplest inet sockets, so use them to start landing
`sb_mtx' mutex(9) protection for `so_snd' buffer. Now solock() is taken
only around pru_send*(), the rest of sosend() serialized by sblock() and
`sb_mtx'. The unlocked SS_ISCONNECTED check is fine, because
rip{,6}_send() check it. Also, previously the SS_ISCONNECTED could be
lost due to solock() release around following m_getuio().

ok bluhm

Reply via email to