From 4d832fdf1c1ca932d16198df7b3c04dcd083e7e2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 12 Feb 2010 18:51:48 +0000 Subject: Few fixes to the new code after the batch build test. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1592 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/kernel/src/chregistry.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'os/kernel/src') diff --git a/os/kernel/src/chregistry.c b/os/kernel/src/chregistry.c index 05573acbf..b6555df40 100644 --- a/os/kernel/src/chregistry.c +++ b/os/kernel/src/chregistry.c @@ -43,7 +43,10 @@ Thread *chRegFirstThread(void) { Thread *tp; chSysLock(); - (tp = rlist.p_newer)->p_refs++; + tp = rlist.p_newer; +#if CH_USE_DYNAMIC + tp->p_refs++; +#endif chSysUnlock(); return tp; } @@ -60,14 +63,18 @@ Thread *chRegFirstThread(void) { Thread *chRegNextThread(Thread *tp) { chSysLock(); +#if CH_USE_DYNAMIC chDbgAssert(tp->p_refs > 0, "chRegNextThread(), #1", "not referenced"); tp->p_refs--; +#endif if (tp->p_newer != (Thread *)&rlist) { tp = tp->p_newer; +#if CH_USE_DYNAMIC chDbgAssert(tp->p_refs < 255, "chRegNextThread(), #2", "too many references"); tp->p_refs++; +#endif } else tp = NULL; -- cgit v1.2.3