diff --git a/lib/modules/SSL.pmod/File.pike b/lib/modules/SSL.pmod/File.pike index 6028b1119f5dcc286ce087c631f28b9d38a1a99f..ff68599c1ec9189b03f0576e1cf064e0631d3b89 100644 --- a/lib/modules/SSL.pmod/File.pike +++ b/lib/modules/SSL.pmod/File.pike @@ -823,8 +823,8 @@ string read (void|int length, void|int(0..1) not_all) !(conn->state & CONNECTION_peer_down), 0); } else { - if (sizeof (read_buffer) < length || zero_type (length)) - RUN_MAYBE_BLOCKING ((sizeof (read_buffer) < length || zero_type (length)) && + if (sizeof (read_buffer) < length) + RUN_MAYBE_BLOCKING ((sizeof (read_buffer) < length) && !(conn->state & CONNECTION_peer_down), nonblocking_mode); }