mark InputStream.read as blocking