Print this page

        

@@ -22,11 +22,11 @@
 /*
  * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
  */
 
 /*
- * Copyright (c) 2015, Joyent, Inc.  All rights reserved.
+ * Copyright (c) 2014, Joyent, Inc.  All rights reserved.
  */
 
 #include <sys/types.h>
 #include <sys/param.h>
 #include <sys/systm.h>

@@ -1322,30 +1322,10 @@
                                 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;
         }

@@ -1620,17 +1600,10 @@
             (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;