Print this page
1775 1631's fix missed the case of data on the handshake's ACK
*** 3747,3756 ****
--- 3747,3763 ----
ASSERT(TCP_IS_DETACHED(tcp));
(void) tcp_close_detached(tcp);
return;
}
/*
+ * tcp_newconn_notify() changes conn_upcalls and
+ * connp->conn_upper_handle. Fix things now, in case
+ * there's data attached to this ack.
+ */
+ if (connp->conn_upcalls != NULL)
+ sockupcalls = connp->conn_upcalls;
+ /*
* For passive open, trace receipt of final ACK as
* tcp:::accept-established.
*/
DTRACE_TCP5(accept__established, mlbk_t *, NULL,
ip_xmit_attr_t *, connp->conn_ixa, void_ip_t *,