信号量睡眠问题

今天测试发现一个bug,当对我负责的模块一起执行两个命令时会有错误,例如"command 1;command 2"。

分析代码发现两个问题,

第一、command 1中存在创建后台进程,当创建后台进程时,本进程继续执行,忽略后台进行执行情况,所以,可能存在后台进行为执行完成,而command 2就开始执行的情况,命令执行顺序错乱。

第二、command 1中发了一个SIGTERM信号,而模块处理函数中存在sleep类型函数,当存在此类函数时,进程会睡眠而让出CPU,此时会继续执行command 2,命令执行顺序错乱。

你可能感兴趣的:(信号量睡眠问题)