私は問題を見つけました..
問題は、system() コマンドを発行する mongoose コールバック スレッドが、次の行があるため、戻りステータスを待機しないことでした。
サーバースレッドを開始する mg_start() 関数には、次の行が含まれています。
mg_start()行番号 5159:
(void) signal(SIGCHLD, SIG_IGN);
これは、ゾンビ プロセスを作成しないようにするためです。
参照: http://www.win.tue.nl/~aeb/linux/lk/lk-5.html
しかし、QNXのドキュメントによると、
「保留中のシグナルに対してシグナル アクションを に設定するSIG_IGNと、ブロックされているかどうかに関係なく、保留中のシグナルが破棄されます。SIGCHLDプロセスがシグナル
のアクションを に設定した場合SIG_IGN、動作は未規定です。」</p>
SIG_IGNonを呼び出すSIGCHLDと、親プロセスは子プロセスからのステータス シグナルを無視します。
呼び出しを行うsystem()と、起動中のシェルからの SIGCHLD シグナルがブロックされます。UNIXのドキュメントによると:
SIGCHLD「子が終了するのを待っている間にブロックすると、アプリケーションがシグナルをキャッチして、system() の子プロセスからステータスを取得してからsystem()、ステータス自体を取得できなくなります。」</p>
しかし、マングースはシグナルを破棄するため、からのシグナルをまったく待ちませんsystem()。
からの有効な戻りステータスなしで、応答を提供し続けるだけですsystem()。
とりあえず、この行をコメントアウトしました。そしてそれは働いています。