1 /*
2  * Copyright (c) 2006-2018, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Change Logs:
7  * Date           Author       Notes
8  */
9 
10 #include <rthw.h>
11 #include <rtthread.h>
12 #include "lwp_mm.h"
13 
14 static rt_mutex_t mm_lock;
15 
rt_mm_lock(void)16 void rt_mm_lock(void)
17 {
18     if (rt_thread_self())
19     {
20         if (!mm_lock)
21         {
22             mm_lock = rt_mutex_create("mm_lock", RT_IPC_FLAG_FIFO);
23         }
24         if (mm_lock)
25         {
26             rt_mutex_take(mm_lock, RT_WAITING_FOREVER);
27         }
28     }
29 }
30 
rt_mm_unlock(void)31 void rt_mm_unlock(void)
32 {
33     if (rt_thread_self())
34     {
35         if (mm_lock)
36         {
37             rt_mutex_release(mm_lock);
38         }
39     }
40 }
41