If the stream is buffered, check cancellationToken again after the read completes

Potential fix for issue #90