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
AcceptEx()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 of
AcceptEx()completions when the issuing thread is blocked in a synchronous
- Bug fix to sequence writes, see here for more details. Due to a type size mismatch between
IBuffer::SequenceNumberand the sequence numbers generated by
CSequencedStreamSocket::SequenceDataa write stall could occur when the sequence number that was being generated (a
signed long) wrapped as the “next” sequence number in
IBuffer::SequenceNumberwhich was a
size_twhich wrapped far later. The buffer list would wait for buffers with sequence numbers which could never be generated.