1 2 #include <stdlib.h> 3 #include "aos_jquick_mutex.h" 4 #include "aos/kernel.h" 5 #include "ulog/ulog.h" 6 7 #define MOD_STR "JQUICK_MUTEX" 8 jquick_mutex_create()9JQuick_Mutex jquick_mutex_create() 10 { 11 aos_mutex_t mutex; 12 if (0 != aos_mutex_new(&mutex)) { 13 return NULL; 14 } 15 16 return (JQuick_Mutex)mutex; 17 } 18 jquick_mutex_lock(JQuick_Mutex mutex)19int jquick_mutex_lock(JQuick_Mutex mutex) 20 { 21 if (!mutex) { 22 LOGE(MOD_STR, "JQuick_Mutex: Mutex is NULL\n"); 23 return -1; 24 } 25 26 return aos_mutex_lock((aos_mutex_t *)&mutex, AOS_WAIT_FOREVER); 27 } 28 jquick_mutex_unlock(JQuick_Mutex mutex)29int jquick_mutex_unlock(JQuick_Mutex mutex) 30 { 31 if (!mutex) { 32 LOGE(MOD_STR, "JQuick_Mutex: Mutex is NULL\n"); 33 return -1; 34 } 35 36 return aos_mutex_unlock((aos_mutex_t *)&mutex); 37 } 38 jquick_mutex_destroy(JQuick_Mutex mutex)39int jquick_mutex_destroy(JQuick_Mutex mutex) 40 { 41 if (!mutex) { 42 LOGE(MOD_STR, "JQuick_Mutex: Mutex is NULL\n"); 43 return -1; 44 } 45 46 aos_mutex_free((aos_mutex_t *)&mutex); 47 48 return 0; 49 } 50