Print this page

        

*** 22,32 **** /* * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. */ /* ! * Copyright (c) 2015, Joyent, Inc. All rights reserved. */ #include <sys/types.h> #include <sys/param.h> #include <sys/systm.h> --- 22,32 ---- /* * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. */ /* ! * Copyright (c) 2014, Joyent, Inc. All rights reserved. */ #include <sys/types.h> #include <sys/param.h> #include <sys/systm.h>
*** 1322,1351 **** goto space_check; } } } - mutex_enter(&so->so_lock); - if (so->so_krecv_cb != NULL) { - boolean_t cont; - so_krecv_f func = so->so_krecv_cb; - void *arg = so->so_krecv_arg; - - mutex_exit(&so->so_lock); - cont = func(so, mp, msg_size, flags & MSG_OOB, arg); - mutex_enter(&so->so_lock); - if (cont == B_TRUE) { - space_left = so->so_rcvbuf; - } else { - so->so_rcv_queued = so->so_rcvlowat; - *errorp = ENOSPC; - space_left = -1; - } - goto done_unlock; - } - mutex_exit(&so->so_lock); - if (flags & MSG_OOB) { so_queue_oob(so, mp, msg_size); mutex_enter(&so->so_lock); goto space_check; } --- 1322,1331 ----
*** 1620,1636 **** (so->so_mode & SM_CONNREQUIRED)) { SO_UNBLOCK_FALLBACK(so); return (ENOTCONN); } - mutex_enter(&so->so_lock); - if (so->so_krecv_cb != NULL) { - mutex_exit(&so->so_lock); - return (EOPNOTSUPP); - } - mutex_exit(&so->so_lock); - if (msg->msg_flags & MSG_PEEK) msg->msg_flags &= ~MSG_WAITALL; if (so->so_mode & SM_ATOMIC) msg->msg_flags |= MSG_TRUNC; --- 1600,1609 ----