Latest release of The Server Framework: 6.5.8
Version 6.5.8 of The Server Framework was released today.
This release contains one bug fix for a bug which has been present in The Server Framework since at least release 5.0 and one change to work around a bug in Windows 8 and Server 2012.
If you plan to use AcceptEx() on Windows 8 or Server 2012 or you have connections which run for a long period of time, use sequenced sockets and issue more than 2,147,483,647 writes on a socket then you need this release.
This release includes the following, see the release notes, here, for full details of all changes.
- Changes to how
CStreamSocketServerExissuesAcceptEx()calls to ensure that these calls are always made from an I/O thread. This is to help reduce the likely impact of the bug in Windows 8/Server 2012 with regard to the delay ofAcceptEx()completions when the issuing thread is blocked in a synchronousReadFile(). - Bug fix to sequence writes, see here for more details. Due to a type size mismatch between
IBuffer::SequenceNumberand the sequence numbers generated byCSequencedStreamSocket::SequenceDataa write stall could occur when the sequence number that was being generated (asigned long) wrapped as the “next” sequence number inCInOrderBufferListwas aIBuffer::SequenceNumberwhich was asize_twhich wrapped far later. The buffer list would wait for buffers with sequence numbers which could never be generated.