linux signal处理中的几个问题(suse下莫名其妙死锁的处理)

原创 2012年03月28日 16:29:33

最近发现在腾讯的CVM上,服务器总是平凡的死锁
后查明真像为

当你发生sig 11的异常时,会进入处理函数 signalHandler
同时此时生成相应的dump file时间,在这里我调用了函数 localtime 函数。

此函数会在内部实现时调用malloc函数,而此函数有锁是不可重入函数,所以这个时候你会发现dump写不出来,而且所有程序死锁了。

实际上从程序角度来看此处已经崩溃才触发的,所以其一切都是在合理范围内的。

只是缺乏相应的提示信息,这点LINUX的确有点欠妥。


Linux异步信号处理函数引发的死锁及解决方法

异步信号处理方式使用不当会发生死锁。异步信号处理函数不推荐做太多工作,如果调用函数需要是reentrant。reentrant可重新进入的,可以理解为一次调用发生后,不会对该函数的再次调用发生任何影响...
  • u014070695
  • u014070695
  • 2016年03月05日 17:09
  • 1782

经典死锁案例-哲学家就餐

经典案例:哲学家就餐。 通过修改《Java编程思想4》一书中的案例,来做实验,...
  • tayanxunhua
  • tayanxunhua
  • 2014年08月19日 23:14
  • 4410

Linux开发调试经验整理(二)——信号处理函数陷阱:调用malloc导致死锁

关于信号处理signal()、sigaction()等的使用,相信很多人都已熟悉。 这里主要想讲一下信号处理函数使用上的一个常见陷阱:信号处理函数必须是可重入函数。如果信号处理函数不可重入,那么可能导...
  • icycode
  • icycode
  • 2015年11月04日 23:18
  • 5287

使用异常处理语句需要注意的几个问题

  • 2011年04月30日 22:17
  • 21KB
  • 下载

数字图像处理8--Canny算子中涉及到的几个问题

首先我们再重新回顾一下Canny算子的 滞后阈值处理: 非极大值抑制:
  • samkieth
  • samkieth
  • 2015年12月25日 21:32
  • 898

QT学习——QT命令行开发环境搭建的几个问题以及处理

QT命令行开发环境搭建的几个问题以及处理 刚学QT,看了丁林松老师的视频《丁林松QT系列教程:1.手工布局》,自己动手写了代码,在命令行编译和运行程序中发现有几个问题,这边把处理方法记录下来。 这...
  • ganhuanghuang
  • ganhuanghuang
  • 2014年09月14日 23:37
  • 1357

lame 3.99和 AFNetworking升级遇到的几个问题的处理

使用 lame 处理音频有一段时间了。之前使用的是直接从网上下载的库。一、处理问题1后来不断出现 libmp3lame missing required architecture x86_64 问题...
  • teamlet
  • teamlet
  • 2016年12月15日 21:41
  • 3935

nxclient运行时的几个问题的处理

nxclient的所有模块的编译选项如下: .DEBUG版本 .CODEGUARD=0 以下问题中的前2个是比较奇怪的.虽然已经处理但仍然有所不解. 问题3的逻辑错误是确定的. ...
  • wherwh
  • wherwh
  • 2013年12月03日 00:09
  • 502

suse linux下jfreechart显示方框问题处理

到windows系统下的fonts中找到simsun.ttf这个字体文件,上传到linux服务器下jre的font目录 /usr/java/jdk1.6.0_27/jre/lib/fonts 这里...
  • kongqz
  • kongqz
  • 2011年10月11日 11:21
  • 1576

安装Oracle Linux碰见的几个问题

今儿需要部署一个Oracle环境,为了简单些,选择了Oracle提供的Linux版本介质:OracleLinux-R6-U2-Server-x86_64-dvd.iso,在安装的过程中碰见了几个常见的...
  • bisal
  • bisal
  • 2016年09月15日 22:42
  • 566
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux signal处理中的几个问题(suse下莫名其妙死锁的处理)
举报原因:
原因补充:

(最多只允许输入30个字)