minor fix to allow sendmsg with purely control data while confirming
authorKeith Sklower <sklower@ucbvax.Berkeley.EDU>
Sat, 4 May 1991 10:22:16 +0000 (02:22 -0800)
committerKeith Sklower <sklower@ucbvax.Berkeley.EDU>
Sat, 4 May 1991 10:22:16 +0000 (02:22 -0800)
SCCS-vsn: sys/kern/uipc_socket.c 7.27

usr/src/sys/kern/uipc_socket.c

index d4dfb6f..0f9b8fb 100644 (file)
@@ -4,7 +4,7 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)uipc_socket.c       7.26 (Berkeley) %G%
+ *     @(#)uipc_socket.c       7.27 (Berkeley) %G%
  */
 
 #include "param.h"
  */
 
 #include "param.h"
@@ -315,7 +315,8 @@ restart:
                        snderr(so->so_error);
                if ((so->so_state & SS_ISCONNECTED) == 0) {
                        if (so->so_proto->pr_flags & PR_CONNREQUIRED) {
                        snderr(so->so_error);
                if ((so->so_state & SS_ISCONNECTED) == 0) {
                        if (so->so_proto->pr_flags & PR_CONNREQUIRED) {
-                               if ((so->so_state & SS_ISCONFIRMING) == 0)
+                               if ((so->so_state & SS_ISCONFIRMING) == 0 &&
+                                   !(resid == 0 && clen != 0))
                                        snderr(ENOTCONN);
                        } else if (addr == 0)
                                snderr(EDESTADDRREQ);
                                        snderr(ENOTCONN);
                        } else if (addr == 0)
                                snderr(EDESTADDRREQ);