Socket disconnect returns.

Yes, it's buggy on MRI 1.8, but that's not my fault - and indeed, I've submitted a pull request to have it dealt with.