MSG_OOB
if (flags & (MSG_OOB))
if (msg->msg_flags & MSG_OOB)
if (unlikely(flags & MSG_OOB))
if (unlikely(flags & MSG_OOB)) {
if (flags & (MSG_CONFIRM|MSG_DONTROUTE|MSG_EOR|MSG_OOB))
if (flags & (MSG_CMSG_CLOEXEC|MSG_ERRQUEUE|MSG_OOB|MSG_TRUNC))
if (flags & MSG_OOB)
if (flags & MSG_OOB)
if (flags & MSG_OOB)
if (flags & MSG_OOB)
if (msg->msg_flags & MSG_OOB)
if (msg->msg_flags & MSG_OOB)
if (msg->msg_flags & MSG_OOB)
if (msg->msg_flags & MSG_OOB)
if (flags & MSG_OOB)
if (flags&MSG_OOB)
if (msg->msg_flags&MSG_OOB)
if (unlikely(msg->msg_flags&MSG_OOB))
if (msg->msg_flags & MSG_OOB) {
if (msg->msg_flags & MSG_OOB) {
if (msg->msg_flags & MSG_OOB)
if (flags & MSG_OOB)
if (msg->msg_flags & MSG_OOB) /* Mirror BSD error message */
if (flags & MSG_OOB)
*size_goal = tcp_xmit_size_goal(sk, mss_now, !(flags & MSG_OOB));
if (skb->len < size_goal || (flags & MSG_OOB) || unlikely(tp->repair))
msg->msg_flags |= MSG_OOB;
if (flags & MSG_OOB)
if (flags & MSG_OOB)
if (msg->msg_flags & MSG_OOB) /* Mirror BSD error message compatibility */
if (flags & MSG_OOB)
if (msg->msg_flags & MSG_OOB)
if (flags & (MSG_OOB))
if (msg->msg_flags & MSG_OOB)
if (msg->msg_flags & MSG_OOB)
if (flags & MSG_OOB)
if (msg->msg_flags & MSG_OOB)
if (flags & MSG_OOB)
if (msg->msg_flags & MSG_OOB)
if (flags & MSG_OOB)
if (msg->msg_flags & MSG_OOB)
if (flags & (MSG_OOB))
if (flags & ~(MSG_OOB|MSG_PEEK|MSG_TRUNC|MSG_DONTWAIT|MSG_WAITALL|
if ((flags & MSG_OOB) || sock_flag(sk, SOCK_URGINLINE)) {
msg->msg_flags |= MSG_OOB;
if (flags & MSG_OOB)
if (msg_flags & MSG_OOB)
if (m->msg_flags & MSG_OOB)
if (m->msg_flags & MSG_OOB)
if (flags & (MSG_OOB | MSG_TRUNC))
msg->msg_flags |= MSG_OOB;
if (flags & MSG_OOB)
if (msg->msg_flags & MSG_OOB)
if (msg->msg_flags & MSG_OOB)
if ((msg->msg_flags & MSG_OOB) && !send_remaining)
if (msg_sys.msg_flags & MSG_OOB)
m->msg_flags |= MSG_OOB;
if (msg->msg_flags & MSG_OOB) {
if (msg->msg_flags & MSG_OOB) {
if (msg->msg_flags & MSG_OOB) {
if (flags&MSG_OOB)
state->msg->msg_flags |= MSG_OOB;
if (unlikely(flags & MSG_OOB)) {
if (flags & MSG_OOB)
if (msg->msg_flags & MSG_OOB)
if (msg->msg_flags & MSG_OOB)
if (flags & MSG_OOB) {
if (flags & MSG_OOB || flags & MSG_ERRQUEUE)
if (msg->msg_flags & ~(MSG_DONTWAIT|MSG_OOB|MSG_EOR|MSG_CMSG_COMPAT))
if (!(msg->msg_flags & (MSG_EOR|MSG_OOB)))
if ((msg->msg_flags & MSG_OOB) && len > 32)
if (msg->msg_flags & MSG_OOB) {
if (msg->msg_flags & MSG_OOB)
if (flags & MSG_OOB) {
msg->msg_flags |= MSG_OOB;
if (send_flags & MSG_OOB)
if (send_flags & MSG_OOB) {
MSG_OOB | MSG_DONTWAIT, false);
MSG_OOB | MSG_DONTWAIT, false);
(flags & MSG_OOB) ? "(OOB)" : "");
{ AF_UNIX, SOCK_STREAM, MSG_OOB },
ASSERT_EQ(1, send(client_socket, ".", 1, MSG_OOB));
ASSERT_EQ(1, recv(recv_socket, &buffer_parent, 1, MSG_OOB));
if (flags & MSG_OOB) {
recvpair("", -EINVAL, 1, MSG_OOB);
sendpair("x", 1, MSG_OOB);
recvpair("x", 1, 1, MSG_OOB);
sendpair("x", 1, MSG_OOB);
sendpair("x", 1, MSG_OOB);
recvpair("", -EINVAL, 1, MSG_OOB);
sendpair("hello", 5, MSG_OOB);
recvpair("o", 1, 1, MSG_OOB);
sendpair("hello", 5, MSG_OOB);
recvpair("o", 1, 1, MSG_OOB);
sendpair("hello", 5, MSG_OOB);
recvpair("o", 1, 1, MSG_OOB);
sendpair("hello", 5, MSG_OOB);
recvpair("", -EINVAL, 1, MSG_OOB);
sendpair("hello", 5, MSG_OOB);
sendpair("wor", 3, MSG_OOB);
recvpair("r", 1, 1, MSG_OOB);
sendpair("x", 1, MSG_OOB);
sendpair("y", 1, MSG_OOB); /* TCP drops "x" at this moment. */
recvpair("y", 1, 1, MSG_OOB); /* TCP returns -EINVAL. */
sendpair("x", 1, MSG_OOB);
sendpair("y", 1, MSG_OOB); /* TCP drops "x" at this moment. */
recvpair("y", 1, 1, MSG_OOB);
sendpair("x", 1, MSG_OOB);
recvpair("x", 1, 1, MSG_OOB);
sendpair("y", 1, MSG_OOB);
recvpair("", -EINVAL, 1, MSG_OOB);
sendpair("x", 1, MSG_OOB);
recvpair("x", 1, 1, MSG_OOB);
sendpair("y", 1, MSG_OOB);
recvpair("y", 1, 1, MSG_OOB);
sendpair("x", 1, MSG_OOB);
recvpair("x", 1, 1, MSG_OOB);
sendpair("y", 1, MSG_OOB);
recvpair("y", 1, 1, MSG_OOB);
sendpair("z", 1, MSG_OOB);
sendpair("hello", 5, MSG_OOB);
sendpair("wor", 3, MSG_OOB);
recvpair("r", 1, 1, MSG_OOB);
sendpair("ld", 2, MSG_OOB);
recvpair("d", 1, 1, MSG_OOB);
sendpair("hello", 5, MSG_OOB);
recvpair("o", 1, 1, MSG_OOB);
sendpair("world", 5, MSG_OOB);
sendpair("x", 1, MSG_OOB);
recvpair("", -EINVAL, 1, MSG_OOB);
sendpair("hello", 5, MSG_OOB);
recvpair("", -EINVAL, 1, MSG_OOB);
sendpair("hello", 5, MSG_OOB);
recvpair("o", 1, 1, MSG_OOB);
sendpair("hello", 5, MSG_OOB);
sendpair("wor", 3, MSG_OOB);
sendpair("x", 1, MSG_OOB);
sendpair("y", 1, MSG_OOB); /* TCP does NOT drops "x" at this moment. */
sendpair("x", 1, MSG_OOB);
sendpair("y", 1, MSG_OOB); /* TCP drops "x" at this moment. */
sendpair("hello", 5, MSG_OOB);
recvpair("o", 1, 1, MSG_OOB);
sendpair("world", 5, MSG_OOB);
.flags = MSG_OOB,
.flags = MSG_OOB,
.flags = MSG_OOB,
.flags = MSG_OOB,
EXPECT_EQ(send(self->fd2, buf, 5, MSG_OOB), 5);
EXPECT_EQ(send(self->fd2, buf, 5, MSG_OOB), 5);