Bugzilla – Bug 2796
NSC TCP transmission flow control not working
Last modified: 2017-10-05 13:49:40 UTC
NscTcpSocketImpl::SendPendingData() will write to NSC using: m_nscTcpSocket->send_data() If the underlying NSC socket buffer becomes full, the return value of send_data() will indicate this and SendPendingData() will return false, and some data will be sitting in the staging buffer m_txBuffer. Later, an NSCWakeup() may trigger the emptying of this buffer (since NSC may later have space), but Socket::NotifySend() is never called to unblock the application, and the TCP transfer will stall.
Created attachment 2931 [details] test program to reproduce the problem
fixed in 13109:0f13cb543416