if timeout is negative, disable timeout