24小时热门版块排行榜    

查看: 827  |  回复: 4

coolrainbow

木虫 (著名写手)

未来国家冻凉

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

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

» 猜你喜欢

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

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

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的回帖

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的回帖

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的回帖
相关版块跳转 我要订阅楼主 coolrainbow 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 东南大学364求调剂 +5 JasonYuiui 2026-03-15 5/250 2026-03-16 21:28 by 木瓜膏
[考研] 283求调剂 +10 小楼。 2026-03-12 14/700 2026-03-16 16:08 by 13811244083
[考研] 0703化学调剂,求各位老师收留 +8 秋有木北 2026-03-14 8/400 2026-03-16 15:21 by 哦哦123
[考研] 309求调剂 +5 花与叶@ 2026-03-10 5/250 2026-03-16 14:13 by 哦哦123
[教师之家] 焦虑 +7 水冰月月野兔 2026-03-13 9/450 2026-03-16 10:00 by Quakerbird
[考研] 344求调剂 +3 knight344 2026-03-16 3/150 2026-03-16 09:42 by 无际的草原
[考研] 279求调剂 +3 Dizzy123@ 2026-03-10 3/150 2026-03-13 23:02 by JourneyLucky
[考研] 308求调剂 +5 是Lupa啊 2026-03-11 5/250 2026-03-13 22:13 by JourneyLucky
[考研] 材料工程调剂 +9 咪咪空空 2026-03-12 9/450 2026-03-13 22:05 by 星空星月
[考研] 0703化学一志愿211 总分320求调剂 +5 玛卡巴卡啊哈 2026-03-11 5/250 2026-03-13 21:40 by JourneyLucky
[考研] 329求调剂 +3 miaodesi 2026-03-12 4/200 2026-03-13 20:53 by 18595523086
[考研] 281求调剂 +9 Koxui 2026-03-12 11/550 2026-03-13 20:50 by Koxui
[考研] 【0856】化学工程(085602)313 分,本科学科评估A类院校化学工程与工艺,诚求调剂 +7 小刘快快上岸 2026-03-11 7/350 2026-03-13 16:06 by ruiyingmiao
[考研] 295求调剂 +3 小匕仔汁 2026-03-12 3/150 2026-03-13 15:17 by vgtyfty
[考研] 求调剂 +3 程雨杭 2026-03-12 3/150 2026-03-13 15:06 by JourneyLucky
[考研] 0856化学工程280分求调剂 +4 shenzxsn 2026-03-11 4/200 2026-03-13 11:55 by ymwdoctor
[考研] 277求调剂 +4 anchor17 2026-03-12 4/200 2026-03-13 11:15 by 白夜悠长
[考研] 296求调剂 +3 大口吃饭 身体健 2026-03-13 3/150 2026-03-13 10:31 by 学员8dgXkO
[考研] 321求调剂(食品/专硕) +3 xc321 2026-03-12 6/300 2026-03-13 08:45 by xc321
[考博] 读博申请 +5 感dd 2026-03-10 7/350 2026-03-11 17:02 by QGZDSYS
信息提示
请填处理意见