fix volatile bug in TimerSlot, add more ut