* not yet sent to the client. (This is a flat-out violation of the
* TCP RFCs, but count on Microsoft not to care about that.) To get
* the spec-compliant "graceful shutdown" behavior, we must invoke
- * closesocket() explicitly.
+ * closesocket() explicitly. When using OpenSSL, it seems that clean
+ * shutdown also requires an explicit shutdown() call.
*
* This code runs late enough during process shutdown that we should
* have finished all externally-visible shutdown activities, so that
* Windows too. But it's a lot more fragile than the other way.
*/
#ifdef WIN32
+ shutdown(MyProcPort->sock, SD_SEND);
closesocket(MyProcPort->sock);
#endif