多线程malloc时,有一个线程fork子进程,是否会引起子进程挂死
man pthread_atforkfork in multi-threaded program
■网友
在网上搜索加上自己实际测试,有一个fork-safe的概念,就是针对这样的问题,即多线程情况下执行fork,某些函数可能来刚好申请了某锁资源,这个时候fork子进程,子进程仅复制了当前的线程,其它线程并没有复制,导致一些锁资源得不到释放,会造成子进程挂死。通过自己实际测试,低版本glibc里面的malloc会出现这种问题,但是高版本的glibc中的malloc没有此问题。 localtime_r这个函数里面内部调用的一个时区转换的函数是fork-unsafe的,必须会产生此类问题
推荐阅读
- 怎样成为一名合格的Python程序员?
- 底盘|新专利显示苹果汽车挡风玻璃可能会有一个凹槽用于安装传感器
- 有一个想法:在不同的程序里,使用不用的输入法默认设置, 减少用户切换中英文的次数。大家感觉咋样
- 主要产品只有一个客户端软件的网站该咋做推广
- 有一个只会在你背后表达不满的同事咋办
- 一个不会编程的学生,只有一个好点子怎样做一个APP
- 我有一个朋友好像进网络传销了,该咋点醒他
- 一个网瘾少女(少男)有一个网盲男友(女友)是怎么样一种体验
- 壹号车探|自动驾驶的3大悍将,特斯拉、小鹏入围,还有一个还被央视表扬
- 国内有没有一个专门找广告导演的网站
