I'm running an application using HTTPServer and SecureServerSocket on Windows and have Application Verifier turned on. It's balking about trying to close an invalid socket handle. It looks like there are two copies of the same socket descriptors kept, one in the SecureSocketImpl member, which gets closed by the dtor, followed a little later by ServerSocketImpl closing.
In the debugger, I see first this:
SecureSocketImpl calls close on a SocketImpl at address 0x095fb6b0, the _sockfd member is address 0x095fb6b8 with a value of 2976
Later in the same stack as the dtors are unwinding, I see
ServerSocketImpl dtor calling SocketImpl dtor, address of this in for the SocketImpl is address 0x09604f80, _sockfd has address 0x09604f88 and again a value of 2976
App Verifier then balks with an invalid handle close exception.
So, it looks like the raw socket descriptor is being copied.