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)16void 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)31void 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