Apply by doing:
       cd /sys
       patch < send.patch

Index: kern/uipc_socket.c
diff -c kern/uipc_socket.c:1.17 kern/uipc_socket.c:1.18
*** kern/uipc_socket.c:1.17     Sun Aug 31 14:42:24 1997
--- kern/uipc_socket.c  Tue Nov 11 11:22:49 1997
***************
*** 354,361 ****
        * if we over-committed, and we must use a signed comparison
        * of space and resid.  On the other hand, a negative resid
        * causes us to loop sending 0-length segments to the protocol.
        */
!       if (resid < 0) {
               error = EINVAL;
               goto out;
       }
--- 354,363 ----
        * if we over-committed, and we must use a signed comparison
        * of space and resid.  On the other hand, a negative resid
        * causes us to loop sending 0-length segments to the protocol.
+        * MSG_EOR on a SOCK_STREAM socket is also invalid.
        */
!       if (resid < 0 ||
!           (so->so_type == SOCK_STREAM && (flags & MSG_EOR))) {
               error = EINVAL;
               goto out;
       }