f94acf52a4
In preparation for moving sockbuf locks into the containing socket, provide alternative macros for the sockbuf I/O locks: SOCK_IO_SEND_(UN)LOCK() and SOCK_IO_RECV_(UN)LOCK(). These operate on a socket rather than a socket buffer. Note that these locks are used only to prevent concurrent readers and writters from interleaving I/O. When locking for I/O, return an error if the socket is a listening socket. Currently the check is racy since the sockbuf sx locks are destroyed during the transition to a listening socket, but that will no longer be true after some follow-up changes. Modify a few places to check for errors from sblock()/SOCK_IO_(SEND|RECV)_LOCK() where they were not before. In particular, add checks to sendfile() and sorflush(). Reviewed by: tuexen, gallatin MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D31657 |
||
---|---|---|
.. | ||
common | ||
crypto | ||
cudbg | ||
cxgbei | ||
firmware | ||
iw_cxgbe | ||
tom | ||
adapter.h | ||
if_cc.c | ||
if_ccv.c | ||
if_cxl.c | ||
if_cxlv.c | ||
offload.h | ||
osdep.h | ||
t4_clip.c | ||
t4_clip.h | ||
t4_filter.c | ||
t4_if.m | ||
t4_ioctl.h | ||
t4_iov.c | ||
t4_l2t.c | ||
t4_l2t.h | ||
t4_main.c | ||
t4_mp_ring.c | ||
t4_mp_ring.h | ||
t4_netmap.c | ||
t4_sched.c | ||
t4_sge.c | ||
t4_smt.c | ||
t4_smt.h | ||
t4_tracer.c | ||
t4_vf.c |