diff --git a/src/interrupt/irq.rs b/src/interrupt/irq.rs index 2a27f81a0cf776fe7f2e91555b08af9f818f46c8..d1fd7ab6bcdbdc19da079fd02d46d3f8a6de60d1 100644 --- a/src/interrupt/irq.rs +++ b/src/interrupt/irq.rs @@ -51,7 +51,9 @@ interrupt!(pit, { pic::MASTER.ack(); - if PIT_TICKS.fetch_add(1, Ordering::SeqCst) % 10 == 0 { + if PIT_TICKS.fetch_add(1, Ordering::SeqCst) >= 10 { + PIT_TICKS.store(0, Ordering::SeqCst); + assert_eq!(PIT_TICKS.load(Ordering::SeqCst), 0); context::switch(); }