X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/3d4d8e7f628f9dc9981242f69b097333faa9940d..b04de2f2f4bb14c968ebcc765ec93c5d1591aa0d:/LUFA/Scheduler/Scheduler.h diff --git a/LUFA/Scheduler/Scheduler.h b/LUFA/Scheduler/Scheduler.h index 35f165fb4..630fbff9f 100644 --- a/LUFA/Scheduler/Scheduler.h +++ b/LUFA/Scheduler/Scheduler.h @@ -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 @@ -38,6 +38,7 @@ */ /** \defgroup Group_Scheduler Simple Task Scheduler - LUFA/Scheduler/Scheduler.h + * \brief Simple round-robbin pseudo-task scheduler. * * \deprecated This module is deprecated and will be removed in a future library release. * @@ -198,7 +199,7 @@ /** Contains the total number of tasks in the task list, irrespective of if the task's status is set to * \ref TASK_RUN or \ref TASK_STOP. * - * \note This value should be treated as read-only, and never altered in user-code. + * \warning This value should be treated as read-only, and never altered in user-application code. */ extern volatile uint_least8_t Scheduler_TotalTasks; @@ -218,10 +219,12 @@ ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE; static inline void Scheduler_ResetDelay(SchedulerDelayCounter_t* const DelayCounter) { - ATOMIC_BLOCK(ATOMIC_RESTORESTATE) - { - *DelayCounter = Scheduler_TickCounter; - } + uint_reg_t CurrentGlobalInt = GetGlobalInterruptMask(); + GlobalInterruptDisable(); + + *DelayCounter = Scheduler_TickCounter; + + SetGlobalInterruptMask(CurrentGlobalInt); } /* Function Prototypes: */