When calling recv on a socket whose underlying read stream is already closed (i.e., a FIN from its peer was successfully received and acknowledged), a PTCError informing about this should be raised. Currently, however, the calling thread blocks waiting for incoming data. This behavior is clearly not correct.