* the GNU General Public License.
*
* Copyright 2003, 2004, 2005, 2006 Develer S.r.l. (http://www.develer.com/)
- * Copyright 2000 Bernardo Innocenti <bernie@develer.com>
+ * Copyright 2000 Bernie Innocenti <bernie@codewiz.org>
*
* -->
*
* \brief Hardware independent timer driver (implementation)
*
* \version $Id$
- * \author Bernardo Innocenti <bernie@develer.com>
+ * \author Bernie Innocenti <bernie@codewiz.org>
*/
#include "timer.h"
-#include <cfg/cfg_timer.h>
-#include <cfg/cfg_wdt.h>
-#include <cfg/cfg_kern.h>
+#include "cfg/cfg_timer.h"
+#include "cfg/cfg_wdt.h"
+#include "cfg/cfg_kern.h"
#include <cfg/os.h>
#include <cfg/debug.h>
#include <cfg/module.h>
/**
- * Remove a timer from the timer queue before it has expired.
+ * Remove a timer from the timers queue before it has expired.
+ * \note Attempting to remove a timer already expired cause
+ * undefined behaviour.
*/
Timer *timer_abort(Timer *timer)
{
*/
void timer_delayTicks(ticks_t delay)
{
-#if defined(IRQ_ENABLED)
+#if defined(IRQ_ENABLED) && (!(ARCH & ARCH_EMUL))
/* We shouldn't sleep with interrupts disabled */
ASSERT(IRQ_ENABLED());
#endif
+
#if defined(CONFIG_KERN_SIGNALS) && CONFIG_KERN_SIGNALS
Timer t;