Or some concurrency issue, because hearbeat runs in separate thread than vm thread.
Hmmm... That's a thought. This is a complete shot in the dark, but the following does not look thread safe to me:
static void high_performance_tick_handler(int sig, struct siginfo *sig_info, void *context) { static int tickCheckInProgress;
if (tickCheckInProgress) return;
tickCheckInProgress = 1; checkHighPriorityTickees(ioUTCMicroseconds()); tickCheckInProgress = 0; }
This should be using a mutex, no?
Dave