Skip to content

[ulog][rtc][time][bug] solve the interference when enable the ulog timestamp#5687

Merged
BernardXiong merged 3 commits intoRT-Thread:masterfrom
mysterywolf:ulog2
Mar 21, 2022
Merged

[ulog][rtc][time][bug] solve the interference when enable the ulog timestamp#5687
BernardXiong merged 3 commits intoRT-Thread:masterfrom
mysterywolf:ulog2

Conversation

@mysterywolf
Copy link
Copy Markdown
Member

@mysterywolf mysterywolf commented Mar 18, 2022

拉取/合并请求描述:(PR description)

[
ulog增加递归检查,从内部自动处理可能存在的递归导致的死循环问题。
使用互斥量代替信号量作为锁,防止出现实时性问题。
https://club.rt-thread.org/ask/question/434822.html

经测试,已经解决递归问题:
7b6fe838f25a29f3e3b28f760c3466f
image

]

以下的内容不应该在提交PR时的message修改,修改下述message,PR会被直接关闭。请在提交PR后,浏览器查看PR并对以下检查项逐项check,没问题后逐条在页面上打钩。
The following content must not be changed in the submitted PR message. Otherwise, the PR will be closed immediately. After submitted PR, please use a web browser to visit PR, and check items one by one, and ticked them if no problem.

当前拉取/合并请求的状态 Intent for your PR

必须选择一项 Choose one (Mandatory):

  • 本拉取/合并请求是一个草稿版本 This PR is for a code-review and is intended to get feedback
  • 本拉取/合并请求是一个成熟版本 This PR is mature, and ready to be integrated into the repo

代码质量 Code Quality:

我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:

  • 已经仔细查看过代码改动的对比 Already check the difference between PR and old code
  • 代码风格正确,包括缩进空格,命名及其他风格 Style guide is adhered to, including spacing, naming and other styles
  • 没有垃圾代码,代码尽量精简,不包含#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up
  • 所有变更均有原因及合理的,并且不会影响到其他软件组件代码或BSP All modifications are justified and not affect other components or BSP
  • 对难懂代码均提供对应的注释 I've commented appropriately where code is tricky
  • 本拉取/合并请求代码是高质量的 Code in this PR is of high quality
  • 本拉取/合并使用formatting等源码格式化工具确保格式符合RT-Thread代码规范 This PR complies with RT-Thread code specification

@mysterywolf mysterywolf changed the title [ulog] 解决ulog开启时间戳后与libc time以及rtc驱动相关函数干涉的问题 [ulog] 解决ulog开启时间戳后与libc time以及RTC驱动相关函数干涉的问题 Mar 18, 2022
@mysterywolf mysterywolf added in progress PR/issue in progress. and removed in progress PR/issue in progress. labels Mar 18, 2022
@mysterywolf mysterywolf changed the title [ulog] 解决ulog开启时间戳后与libc time以及RTC驱动相关函数干涉的问题 [ulog][rtc][time][bug] solve the interference when enable the ulog timestamp Mar 18, 2022
因此修改输出规则,在发生递归时,采用简单的,无格式的方式直接输出。这样既保证不会发生递归输出,也可以保证递归输出的部分可以正常输出。
@mysterywolf mysterywolf added the +1 Agree +1 label Mar 21, 2022
@BernardXiong BernardXiong merged commit 8b58577 into RT-Thread:master Mar 21, 2022
@mysterywolf mysterywolf deleted the ulog2 branch March 21, 2022 06:32
@childerxxx
Copy link
Copy Markdown
Contributor

使用互斥量之后,还能支持在ISR里输出log吗

@mysterywolf
Copy link
Copy Markdown
Member Author

ISR里最好用rt_kprintf

@mysterywolf
Copy link
Copy Markdown
Member Author

使用信号量也无法再中断里使用,因为这里信号量的作用是保护资源 不是传递信号

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

+1 Agree +1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants