fixed read_nonblock return value on finish to return full size