4
0
mirror of https://github.com/RT-Thread/rt-thread.git synced 2025-01-30 03:30:26 +08:00

fix mutex release bug

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@45 bbd45198-f89e-11dd-88c7-29a3b14d5316
This commit is contained in:
bernard.xiong 2009-09-10 12:29:15 +00:00
parent 91ed3ab183
commit 3bfe93e365

View File

@ -764,6 +764,9 @@ rt_err_t rt_mutex_release(rt_mutex_t mutex)
&(mutex->owner->init_priority));
}
/* increase value */
mutex->value ++;
/* wakeup suspended thread */
if (mutex->value <= 0 && mutex->parent.suspend_thread_count > 0)
{
@ -783,8 +786,9 @@ rt_err_t rt_mutex_release(rt_mutex_t mutex)
}
else
{
/* increase value */
mutex->value ++;
/* clear owner */
mutex->owner = RT_NULL;
mutex->original_priority = 0;
}
/* enable interrupt */