The return code of `s.pd.wait` is not checked in the `Read` for loop, so if there's no data on the socket, a call to `Read` will hang forever.