提交 26c51147 编写于 作者: G guozhanxin 提交者: guo

[ulog] Fixed the problem of abnormal log output at the INIT_BOARD_EXPORT level.

上级 23c1fdd7
......@@ -190,8 +190,8 @@ static void output_unlock(void)
if (!ulog.output_lock_enabled)
return;
/* is in thread context */
if (rt_interrupt_get_nest() == 0)
/* If the scheduler is started and in thread context */
if (rt_thread_self() && (rt_interrupt_get_nest() == 0))
{
rt_sem_release(&ulog.output_locker);
}
......@@ -208,8 +208,8 @@ static void output_lock(void)
if (!ulog.output_lock_enabled)
return;
/* is in thread context */
if (rt_interrupt_get_nest() == 0)
/* If the scheduler is started and in thread context */
if (rt_thread_self() && (rt_interrupt_get_nest() == 0))
{
rt_sem_take(&ulog.output_locker, RT_WAITING_FOREVER);
}
......@@ -429,6 +429,13 @@ void ulog_output_to_all_backend(rt_uint32_t level, const char *tag, rt_bool_t is
if (!ulog.init_ok)
return;
/* if there is no backend */
if (!rt_slist_first(&ulog.backend_list))
{
rt_kputs(log);
return;
}
/* output for all backends */
for (node = rt_slist_first(&ulog.backend_list); node; node = rt_slist_next(node))
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册