Skip to content
Snippets Groups Projects
Commit aa112ef1 authored by Nat Goodspeed's avatar Nat Goodspeed
Browse files

DRTVWR-575: Fix bug in macOS micro_sleep().

The compiler was deducing an unsigned type for the difference (U64 desired
microseconds - half KERNEL_SLEEP_INTERVAL_US). When the desired sleep was less
than that constant, the difference went hugely positive, resulting in a very
long snooze.

Amusingly, forcing that U64 result into an S32 num_sleep_intervals worked only
*because* of integer truncation: the high-order bits were discarded, resulting
in a negative result as intended.

Ensuring that both integer operands are signed at the outset, though, produces
a more formally correct result.
parent bb718155
No related branches found
No related tags found
2 merge requests!3Update to main branch,!2Rebase onto current main branch
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment