提交 9952042b 编写于 作者: mysterywolf's avatar mysterywolf

remove inherent mutex protect

上级 ce860582
...@@ -13,7 +13,6 @@ ...@@ -13,7 +13,6 @@
* RT_USING_DFS is not defined * RT_USING_DFS is not defined
* 2020-02-13 Meco Man re-implement exit() and abort() * 2020-02-13 Meco Man re-implement exit() and abort()
* 2020-02-14 Meco Man implement _sys_tmpnam() * 2020-02-14 Meco Man implement _sys_tmpnam()
* 2020-02-25 Meco Man add multithreaded protection
*/ */
#include <string.h> #include <string.h>
...@@ -42,36 +41,6 @@ const char __stdin_name[] = "STDIN"; ...@@ -42,36 +41,6 @@ const char __stdin_name[] = "STDIN";
const char __stdout_name[] = "STDOUT"; const char __stdout_name[] = "STDOUT";
const char __stderr_name[] = "STDERR"; const char __stderr_name[] = "STDERR";
#ifdef RT_USING_HEAP
int _mutex_initialize(rt_mutex_t *m)
{
*m = rt_mutex_create("_mutex_", RT_IPC_FLAG_PRIO);
if(*m == RT_NULL)
{
return 0;
}
else
{
return 1;
}
}
void _mutex_acquire(rt_mutex_t *m)
{
rt_mutex_take(*m, RT_WAITING_FOREVER);
}
void _mutex_release(rt_mutex_t *m)
{
rt_mutex_release(*m);
}
void _mutex_free(rt_mutex_t *m)
{
rt_mutex_delete(*m);
}
#endif
/** /**
* required by fopen() and freopen(). * required by fopen() and freopen().
* *
......
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2015-01-28 Bernard first version
*/
#include <rtthread.h>
#include <yfuns.h>
/*
* for IAR compiler, we recommand to define _DLIB_THREAD_SUPPORT
* as 2 for dlib multi-thread support.
*/
#if _DLIB_THREAD_SUPPORT
typedef void* _Rmtx;
void _Mtxinit(_Rmtx *m)
{
rt_mutex_t mutex;
RT_ASSERT(m != RT_NULL);
mutex = (rt_mutex_t)m;
rt_mutex_init(mutex, "iarMtx", RT_IPC_FLAG_FIFO);
}
void _Mtxdst(_Rmtx *m)
{
rt_mutex_t mutex;
RT_ASSERT(m != RT_NULL);
mutex = (rt_mutex_t)m;
rt_mutex_detach(mutex);
}
void _Mtxlock(_Rmtx *m)
{
rt_mutex_t mutex;
RT_ASSERT(m != RT_NULL);
mutex = (rt_mutex_t)m;
rt_mutex_take(mutex, RT_WAITING_FOREVER);
}
void _Mtxunlock(_Rmtx *m)
{
rt_mutex_t mutex;
RT_ASSERT(m != RT_NULL);
mutex = (rt_mutex_t)m;
rt_mutex_release(mutex);
}
#endif
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册