Graceful close bug...

It seems that the latest changes to The Server Framework have managed to flush out a graceful shutdown bug that’s been floating around since day 0.

There’s this whole, complex, way of determining how a socket is shutdown and this whole clever thing that lets you decide if you want to do a graceful, lingering, close on an I/O thread or simply slam the door and risk losing data and, well, it doesn’t seem to work. Once in a while the connections are being closed before they should. The code path hasn’t changed much since the first release of the free source but since I’ve spent the day building every example server with every compiler and running their black box testing I seem to have force some failures once in a while… I haven’t worked out how to fix it yet, but it does seem every so slightly broken… Luckilly I’ve never had a client report a problem with this, so I guess it doesn’t happen a great deal in the wild…