X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/3d4d8e7f628f9dc9981242f69b097333faa9940d..fe8326855ad8b6f16c88de0f3e4718c0d8ea1025:/LUFA/Scheduler/Scheduler.c diff --git a/LUFA/Scheduler/Scheduler.c b/LUFA/Scheduler/Scheduler.c index 4e71d4d87..b8990edf3 100644 --- a/LUFA/Scheduler/Scheduler.c +++ b/LUFA/Scheduler/Scheduler.c @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2011. + Copyright (C) Dean Camera, 2012. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2011 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted @@ -39,10 +39,12 @@ bool Scheduler_HasDelayElapsed(const uint_least16_t Delay, SchedulerDelayCounter_t CurrentTickValue_LCL; SchedulerDelayCounter_t DelayCounter_LCL; - ATOMIC_BLOCK(ATOMIC_RESTORESTATE) - { - CurrentTickValue_LCL = Scheduler_TickCounter; - } + uint_reg_t CurrentGlobalInt = GetGlobalInterruptMask(); + GlobalInterruptDisable(); + + CurrentTickValue_LCL = Scheduler_TickCounter; + + SetGlobalInterruptMask(CurrentGlobalInt); DelayCounter_LCL = *DelayCounter;