24小时热门版块排行榜    

查看: 986  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

coolrainbow

木虫 (著名写手)

未来国家冻凉

[交流] 【求助】linux信号处理函数中,一定不能用malloc这类不可重用函数吗? 已有2人参与

如果一定要用需要怎么办捏?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

技术博客:http://hi.baidu.com/coolrainbow/blog
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
cenwanglai(金币+2): 谢谢回复! 2011-03-23 23:25:55
引用回帖:
Originally posted by coolrainbow at 2011-03-23 11:32:24:
看来不是平台独立的,谢谢啊

其实我看好多信号代码里面照样printf,malloc一大堆,呵呵

是啊,APUE里面的例子都这么用,不过书中也说明,这么做并不严谨,在特定条件下会出问题...

所以如果是需要运算很长时间的程序,重入性问题需要考虑;如果只是很快就能得到结果的小程序,那么出错概率就小很多了
4楼2011-03-23 14:36:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

sudo

木虫 (正式写手)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
cenwanglai(金币+3): 谢谢回复。有兴趣来程序语言版块做版主不? 2011-03-23 23:25:28
在信号处理函数中,不能使用不可重入的语句或者调用不可重入的函数

malloc能不能变为可重入,得看实现,有些库有mallopt()这种函数而且带有可以阻塞信号的选项的话,那设定一下就OK了,比如
http://docs.hp.com/en/B2355-90130/malloc.3C.html

有些库则是给可重入的内存申请函数另起个名字
http://www.keil.com/support/man/docs/c166/c166_lib_memory.htm

如果自己写的话貌似颇麻烦,我也没有写过,帮不了你啊...
2楼2011-03-22 22:50:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

coolrainbow

木虫 (著名写手)

未来国家冻凉

引用回帖:
Originally posted by sudo at 2011-03-22 22:50:44:
在信号处理函数中,不能使用不可重入的语句或者调用不可重入的函数

malloc能不能变为可重入,得看实现,有些库有mallopt()这种函数而且带有可以阻塞信号的选项的话,那设定一下就OK了,比如
[url]http://docs ...

看来不是平台独立的,谢谢啊

其实我看好多信号代码里面照样printf,malloc一大堆,呵呵
技术博客:http://hi.baidu.com/coolrainbow/blog
3楼2011-03-23 11:32:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

coolrainbow

木虫 (著名写手)

未来国家冻凉

引用回帖:
Originally posted by sudo at 2011-03-23 14:36:18:
是啊,APUE里面的例子都这么用,不过书中也说明,这么做并不严谨,在特定条件下会出问题...

所以如果是需要运算很长时间的程序,重入性问题需要考虑;如果只是很快就能得到结果的小程序,那么出错概率就小很 ...

问题是,printf有专门的write可以替代,然而malloc却没有相应的版本...
技术博客:http://hi.baidu.com/coolrainbow/blog
5楼2011-03-23 18:00:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 23jxep3nCNZb 2026-09-14 5/250 2026-09-18 11:28 by HjTo14L7GlnE
[考博] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +6 3n8v2C8RimXI 2026-09-13 6/300 2026-09-18 09:18 by yS4CkeWDhD6V
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +8 3n8v2C8RimXI 2026-09-13 9/450 2026-09-18 09:16 by yS4CkeWDhD6V
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +4 C79jjtjAKjEn 2026-09-15 4/200 2026-09-18 06:44 by manzzl
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 C79jjtjAKjEn 2026-09-15 3/150 2026-09-18 03:42 by cITaGg3p5edr
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 5BDX0d0WFp7t 2026-09-15 3/150 2026-09-18 03:16 by cITaGg3p5edr
[考博] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 mibUvS8DDCwf 2026-09-15 3/150 2026-09-18 02:54 by cITaGg3p5edr
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 Aj1rhIDL5ixY 2026-09-14 6/300 2026-09-18 01:54 by cITaGg3p5edr
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +4 Aj1rhIDL5ixY 2026-09-14 4/200 2026-09-18 01:54 by cITaGg3p5edr
[找工作] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 3n8v2C8RimXI 2026-09-13 4/200 2026-09-17 22:39 by cuPZTDXS3VOd
[硕博家园] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 0pYnUiPDfdnk 2026-09-14 4/200 2026-09-17 14:15 by ObVzqQQh1rrE
[找工作] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 s3fFTmArrBt6 2026-09-14 5/250 2026-09-17 12:39 by ObVzqQQh1rrE
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +6 s3fFTmArrBt6 2026-09-13 6/300 2026-09-17 02:14 by Tql5LQhh5rLK
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +5 6F5UbRU2I5hL 2026-09-14 6/300 2026-09-16 17:27 by i3KBRD19ERkG
[考博] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +4 6F5UbRU2I5hL 2026-09-14 4/200 2026-09-16 17:00 by i3KBRD19ERkG
[考博] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +7 QUjhNVAcOSff 2026-09-13 7/350 2026-09-16 14:36 by i3KBRD19ERkG
[教师之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 6F5UbRU2I5hL 2026-09-14 3/150 2026-09-15 08:14 by C79jjtjAKjEn
[教师之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 s3fFTmArrBt6 2026-09-14 3/150 2026-09-15 07:46 by C79jjtjAKjEn
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 s3fFTmArrBt6 2026-09-13 4/200 2026-09-15 06:50 by 5BDX0d0WFp7t
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 LwdutQ8HoqWP 2026-09-13 4/200 2026-09-14 16:13 by Aj1rhIDL5ixY
信息提示
请填处理意见