Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1588037
  • 博文数量: 77
  • 博客积分: 1205
  • 博客等级: 少尉
  • 技术积分: 4476
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-22 21:48
文章分类
文章存档

2018年(1)

2017年(1)

2015年(1)

2014年(18)

2013年(12)

2012年(44)

分类: AIX

2014-01-27 16:32:34

bsdlog其实一直蛮好用的,因为更早前我曾用uprint来打印信息,后来我发现用uprint打印的东西有时候次序是乱的,比如:
uprintf("hello world 0\n");
...
uprintf("hello world 1\n");
...
uprintf("hello world 2\n");
...

uprintf("hello world 3\n");
...


结果的输出很可能变成:
hello world 0
...

hello world 2
...
hello world 3
...
hello world 1

也许跟它使用的buffer有关系吧,懒得追究了,从此改成bsdlog,不爽的输出次序问题再没出现过。但是最近发现在一个timer的call back函数中使用bsdlog将不再有效,不再有效的意思是它不会输出任何信息。那个timer的call back函数按照文档的说法应该是在interrupt context中了,我想起此前在做IP Filter的时候也遇到过类似的问题,到现在我也没找到原因。貌似网上有关bsdlog在interrupt context下的使用限制文档极少,有价值的我几乎没有看到。另外:在中断关闭(spin_lock_irq...)的临界区中bsdlog也无法有效输出

阅读(3041) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~