免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: ypxing
打印 上一主题 下一主题

[函数] [原创]reentrant函数与thread safe函数浅析 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-08-03 20:09 |只看该作者
一直想找这两个概念是此非彼的例子,受教了
关于死锁的问题,apue里也有讲,以前也遇到过,当时干脆都弄成递归锁了

论坛徽章:
0
12 [报告]
发表于 2007-08-03 20:49 |只看该作者
那么,怎么才能保证不可重入的部分不被重入呢?

原帖由 思一克 于 2007-8-3 19:39 发表
你写可重入函数时候要考虑到保证不可重入部分不重入, 还有保证整个函数必须可重入.
__do_IRQ就是如此.
所以说"调用了不可重入函数的函数不一定是不可重入的"是正确的.
而"调用了不可重入函数的函数一定是不可 ...

论坛徽章:
0
13 [报告]
发表于 2007-08-03 22:12 |只看该作者
原帖由 ypxing 于 2007-8-3 20:49 发表
那么,怎么才能保证不可重入的部分不被重入呢?


我有同楼主相同的疑问。

另外,从lz的例子中学到一些技巧,关于调试多线程程序,感谢lz。

[ 本帖最后由 cugb_cat 于 2007-8-3 22:45 编辑 ]

论坛徽章:
0
14 [报告]
发表于 2007-08-03 22:18 |只看该作者
原帖由 思一克 于 2007-8-3 19:39 发表
你写可重入函数时候要考虑到保证不可重入部分不重入, 还有保证整个函数必须可重入.
__do_IRQ就是如此.
所以说"调用了不可重入函数的函数不一定是不可重入的"是正确的.
而"调用了不可重入函数的函数一定是不可重入的"是不对的(语句A).因为有十分多的反例.


调用了不可重入函数的函数不一定是不可重入的。"这句是不对的(语句B),
因为你无法保证被调用的不可重入函数部分不被重入


越看越糊涂了,撇开讨论的问题不谈, 上面的语句A和语句B,必定有一句是错的

论坛徽章:
0
15 [报告]
发表于 2007-08-03 22:44 |只看该作者
原帖由 飞灰橙 于 2007-8-3 22:18 发表


越看越糊涂了,撇开讨论的问题不谈, 上面的语句A和语句B,必定有一句是错的

两句意思相反~

论坛徽章:
0
16 [报告]
发表于 2007-08-03 23:30 |只看该作者
俺也看了好一会才看懂

原帖由 飞灰橙 于 2007-8-3 22:18 发表


越看越糊涂了,撇开讨论的问题不谈, 上面的语句A和语句B,必定有一句是错的

论坛徽章:
0
17 [报告]
发表于 2007-08-04 00:08 |只看该作者
完了,简单的问题复杂化了

论坛徽章:
0
18 [报告]
发表于 2007-08-08 20:37 |只看该作者
好帖,受教了~~

论坛徽章:
0
19 [报告]
发表于 2007-08-08 23:05 |只看该作者
这两天写了一个测试程序来验证malloc的不可重入性
但是malloc一直没有crash,有点郁闷

过段时间把自己的测试代码贴出来,让大家来帮忙看看

论坛徽章:
0
20 [报告]
发表于 2007-08-09 10:08 |只看该作者
原帖由 ypxing 于 2007-8-8 23:05 发表
这两天写了一个测试程序来验证malloc的不可重入性
但是malloc一直没有crash,有点郁闷

过段时间把自己的测试代码贴出来,让大家来帮忙看看

多线程条件下,signal的handler有可能在一个单独的线程中执行,如果这样那么malloc用锁保护就够了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP