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

我在CSDN专栏写过的,老帖子
最近发现在腾讯的CVM上,服务器总是平凡的死锁
后查明真像为

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

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

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

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

posted @ 2015-08-28 16:41  koangel  阅读(368)  评论(0编辑  收藏  举报