【Issue#882 動作確認】
1. Issue#882 (https://postpeta.pccluster.org/redmine/issues/882)
に記載のテストプログラムを用いて現象が解消されていることを
確認した。(テストプログラム1本、確認項目3件)
実行結果(エビデンス)は以下の通り。
CT1001-3.txt Issue#882の指摘で使用されたテストプログラムの実行結果
(OK 3件、NG 0件)
McKernelにプロセス残留が無いこと(ihkosctl 0 ioctl 40000000 1の結果 0)
McKernelにスレッド残留が無いこと(ihkosctl 0 ioctl 40000000 2の結果 0)
Linuxにmcexecプロセス残留が無いこと(ps axg|grep mcexecの結果、プロセスなし)
尚、タイミングによって発生しない可能性があるため、複数回(5回以上)繰り返し実行
し、再発しないことを確認した。
2. Issue#882の変更が既存fork機能に影響しないことをLTPを用いて確認した。
(テストプログラム6本、確認項目12件)
テストの実行方法は以下の通り。
(1) 以下の内容のファイルを<ltp-install>/runtest/mylistとして作成
fork01 fork01
fork02 fork02
fork03 fork03
fork04 fork04
fork07 fork07
fork08 fork08
(2) 以下のコマンドを実行
cd <ltp-top>
sudo <mckernel-install>/sbin/mcreboot.sh -c 2-7 -m 2G -O
sudo sh -c 'LTPMCEXEC=<mckernel-install>/bin/mcexec install/runltp -f mylist'
実行結果(エビデンス)は以下の通り。
fork01.txt fork後に子プロセスのプロセスIDが正しいことを確認 (OK 2件)
fork02.txt fork後にwaitを行い、waitが子プロセスのPIDを返却することを確認(OK 1件)
fork03.txt forkで生成した子プロセスが処理を行った後でもfork返却値に変化が無い
(親プロセス側の返却値で上書きされていない)ことを確認 (OK 1件)
fork04.txt forkで生成した子プロセスが環境変数を変更しても、親プロセス側の
環境変数に変化が無いことを確認 (OK 3件)
fork07.txt forkした子プロセスに、親プロセスからファイルディスクリプタを
引き継いでいることを確認 (OK 1件)
fork08.txt forkした複数の子プロセスが、それぞれ親プロセスから引き継いだファイル
ディスクリプタを別個に操作できることを確認
(ある子プロセスがcloseしても別な子プロセスがI/O可能) (OK 4件)