On Mon, Oct 10, 2022 at 11:10:14AM -0700, Nathan Bossart wrote:
> On Mon, Oct 10, 2022 at 10:51:14AM -0700, Nathan Bossart wrote:
>>> + /* Find the soonest wakeup time, to limit our nap. */
>>> + nextWakeup = INT64_MAX;
>>> + for (int i = 0; i < NUM_WALRCV_WAKEUPS; ++i)
>>> + nextWakeup = Min(state.wakeup[i], nextWakeup);
>>> + nap = Max(0, (nextWakeup - now + 999) / 1000);
>
> Hm. We should probably be more cautious here since nextWakeup is an int64
> and nap is an int. My guess is that we should just set nap to -1 if
> nextWakeup > INT_MAX.
Here's an attempt at fixing that. I ended up just changing "nap" to an
int64 and then ensuring it's no larger than INT_MAX in the call to
WaitLatchOrSocket(). IIUC we can't use -1 here because WL_TIMEOUT is set.
--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com