CVSROOT: /cvs
Module name: src
Changes by: [email protected] 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