diff options
Diffstat (limited to 'src/stacks.c')
-rw-r--r-- | src/stacks.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/stacks.c b/src/stacks.c index a35ca3d..c783967 100644 --- a/src/stacks.c +++ b/src/stacks.c @@ -248,6 +248,26 @@ wait_threads(void) yield(); } +void +mutex_lock(struct mutex_s *mutex) +{ + ASSERT32FLAT(); + if (! CONFIG_THREADS) + return; + while (mutex->isLocked) + yield(); + mutex->isLocked = 1; +} + +void +mutex_unlock(struct mutex_s *mutex) +{ + ASSERT32FLAT(); + if (! CONFIG_THREADS) + return; + mutex->isLocked = 0; +} + /**************************************************************** * Thread preemption |