Browse Source

kernel: mutex could only be released in thread context

Mutex has the idea of ownership, only the thread which owns the mutex
can release it. So rt_mutex_release could only be called in thread
context.  Add a debug guard to it.
Grissiom 11 years ago
parent
commit
b72001fcac
1 changed files with 3 additions and 0 deletions
  1. 3 0
      src/ipc.c

+ 3 - 0
src/ipc.c

@@ -777,6 +777,9 @@ rt_err_t rt_mutex_release(rt_mutex_t mutex)
 
     need_schedule = RT_FALSE;
 
+    /* only thread could release mutex because we need test the ownership */
+    RT_DEBUG_IN_THREAD_CONTEXT;
+
     /* get current thread */
     thread = rt_thread_self();