diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2009-02-24 16:07:42 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2009-02-24 16:07:42 +0000 |
commit | e9274448e9058df5a32e43212ee9858006fe1c4d (patch) | |
tree | 951171f94949354b24f6f243538032fbb8706a5e /src/chthreads.c | |
parent | d425f2ec12b111f01dfe854c638c18da2a279881 (diff) | |
download | ChibiOS-e9274448e9058df5a32e43212ee9858006fe1c4d.tar.gz ChibiOS-e9274448e9058df5a32e43212ee9858006fe1c4d.tar.bz2 ChibiOS-e9274448e9058df5a32e43212ee9858006fe1c4d.zip |
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@802 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'src/chthreads.c')
-rw-r--r-- | src/chthreads.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/chthreads.c b/src/chthreads.c index d32f9d44a..902867a41 100644 --- a/src/chthreads.c +++ b/src/chthreads.c @@ -59,10 +59,10 @@ Thread *init_thread(Thread *tp, tprio_t prio) { } #if CH_DBG_FILL_THREADS -static void memfill(uint8_t *p, uint32_t n, uint8_t v) { +static void memfill(uint8_t *startp, uint8_t *endp, uint8_t v) { - while (n) - *p++ = v, n--; + while (startp < endp) + *startp++ = v; } #endif @@ -95,7 +95,12 @@ Thread *chThdInit(void *workspace, size_t wsize, (prio <= HIGHPRIO) && (pf != NULL), "chThdInit"); #if CH_DBG_FILL_THREADS - memfill(workspace, wsize, MEM_FILL_PATTERN); + memfill(workspace, + (uint8_t)workspace + sizeof(Thread), + THREAD_FILL_VALUE); + memfill((uint8_t)workspace + sizeof(Thread), + (uint8_t)workspace + wsize + STACK_FILL_VALUE); #endif SETUP_CONTEXT(workspace, wsize, pf, arg); return init_thread(tp, prio); |