请教arm Linux开发时setegid、seteuid引起死锁,是内核原因吗
请教各位,在嵌入式Linux开发时调用了setegid(),用于切换到普通用户的数据区写文件,但是调用后程序当机,根本不返回任何值,就死在这个函数上了。
我是 用root 启动程序gid=0 uid=0 用setegid() 设置成 nobody用户,gid=8002 uid=8002
查看下来是setegid或者seteuid引起了deadlock,是不是由于arm linux 内核设置编译问题,请高手指教。
简单测试一个setegid代码,不会死锁,但是在我的程序里运行到一定阶段后就死锁了。程序应该没问题,原来老的cpu上能跑的,这次是升级硬件。
以前记得好像有个linux环境变量可以设置pthread锁为RECURSIVE 锁,这样不会死锁了,最近怎么google都找不到,不知是不是记错了。