deal with recv errors
do not handle close errors on a socket