f37202cbc0
This change adds a check to mm_trysemaphore() (the root implementation of both kmm_trysemaphore() and umm_trysemaphore()). It checks if the that task that is apparently executing is marked as RUNNING. If not, how could the non-running task be trying to get the MM semaphore? I think only in the exact scenario that Eunbong Song has described.
So I think the solution should provide the same protection as
|
||
---|---|---|
.. | ||
Make.defs | ||
mm_addfreechunk.c | ||
mm_brkaddr.c | ||
mm_calloc.c | ||
mm_extend.c | ||
mm_free.c | ||
mm_heapmember.c | ||
mm_initialize.c | ||
mm_mallinfo.c | ||
mm_malloc.c | ||
mm_memalign.c | ||
mm_realloc.c | ||
mm_sbrk.c | ||
mm_sem.c | ||
mm_shrinkchunk.c | ||
mm_size2ndx.c | ||
mm_zalloc.c |