unsigned equeue_tick() { if (!equeue_tick_inited) { equeue_tick_init(); } unsigned equeue_ms = reinterpret_cast<Timer*>(equeue_timer)->read_ms(); return (equeue_minutes << 16) + equeue_ms; }
unsigned equeue_tick() { if (!equeue_tick_inited) { equeue_tick_init(); } unsigned minutes; unsigned ms; do { minutes = equeue_minutes; ms = reinterpret_cast<Timer*>(equeue_timer)->read_ms(); } while (minutes != equeue_minutes); return minutes + ms; }