Bug in OOB data handling
There’s a bug in the TCP OOB (out of band) data handling code in all versions of
The Server Framework from 6.6 through to 7.4. This issue manifests as a purecall
during socket destruction and is due to a race condition during the release of
the last two references held on a socket. If you don’t use OOB then a simple
work around is to comment out the following in TAsyncSocket.h
in the Release()
function.
//else if (1 == ref)
//{
// CancelIOIfNecessary();
//}
A proper fix will be included in the 7.5 release which, now that we have a bug file rather than just new features, will be released shortly.