fix: fork's race-condition caused by child and grand-child

Refs: #1329
Change-Id: Ia2d7641d1203f40155fef5db718d1bb2c583c1c5
This commit is contained in:
Ken Sato
2019-12-20 11:24:14 +09:00
committed by Masamichi Takagi
parent 5b26fe2956
commit 911b07f507
16 changed files with 2236 additions and 361 deletions

View File

@ -0,0 +1,94 @@
*** C1324T01 start *******************************
[OK] fork is successful
[OK] POKED value is correct!!
[OK] child exited normaly
*** C1324T01 PASSED ******************************
*** C1324T02 start *******************************
[OK] sigaltstack 1st is successful
[OK] sigaltstack 2nd is successful
*** C1324T02 PASSED ******************************
*** C1324T03 start *******************************
[OK] value read by proc_mem is correct
*** C1324T03 PASSED ******************************
*** C1324T04 start *******************************
fork14 1 TPASS : fork failed as expected.
*** C1324T04 PASSED (1)
*** C1324T05 start *******************************
fork01 1 TPASS : fork() returned 12305
fork01 2 TPASS : child pid and fork() return agree: 12305
*** C1324T05 PASSED (2)
*** C1324T06 start *******************************
fork02 0 TINFO : Inside parent
fork02 0 TINFO : exit status of wait 0
fork02 1 TPASS : test 1 PASSED
*** C1324T06 PASSED (1)
*** C1324T07 start *******************************
fork03 0 TINFO : process id in parent of child from fork : 12365
fork03 1 TPASS : test 1 PASSED
*** C1324T07 PASSED (1)
*** C1324T08 start *******************************
fork04 1 TPASS : Env var TERM unchanged after fork(): xterm-256color
fork04 2 TPASS : Env var NoTSetzWq unchanged after fork(): getenv() does not find variable set
fork04 3 TPASS : Env var TESTPROG unchanged after fork(): FRKTCS04
*** C1324T08 PASSED (3)
*** C1324T09 start *******************************
fork05 0 TINFO : %fs test only for ix86
*** C1324T09 PASSED (0)
*** C1324T10 start *******************************
fork06 0 TINFO : tries 1000
fork06 0 TINFO : successes 1000
fork06 0 TINFO : failures 0
fork06 0 TINFO : There were no children to wait for
*** C1324T10 PASSED (0)
*** C1324T11 start *******************************
fork07 0 TINFO : Forking 100 children
fork07 0 TINFO : Forked all 100 children, now collecting
fork07 0 TINFO : Collected all 100 children
fork07 1 TPASS : 100/100 children read correctly from an inheritted fd
*** C1324T11 PASSED (1)
*** C1324T12 start *******************************
fork08 0 TINFO : parent forksval: 1
fork08 0 TINFO : second child got char: b
fork08 1 TPASS : Test passed in childnumber 2
fork08 0 TINFO : parent forksval: 1
fork08 0 TINFO : parent forksval: 2
fork08 0 TINFO : exit status of wait expected 0 got 0
fork08 1 TPASS : parent test PASSED
fork08 0 TINFO : exit status of wait expected 0 got 0
fork08 2 TPASS : parent test PASSED
fork08 0 TINFO : exit status of wait expected 0 got 0
fork08 3 TPASS : parent test PASSED
fork08 0 TINFO : Number of processes forked is 2
*** C1324T12 PASSED (4)
*** C1324T13 start *******************************
fork09 0 TINFO : OPEN_MAX is 1024
fork09 0 TINFO : first file descriptor is 8
fork09 0 TINFO : Parent reporting 1023 files open
fork09 0 TINFO : Child opened new file #1023
fork09 0 TINFO : OPEN_MAX is 1024
fork09 0 TINFO : first file descriptor is 8
fork09 0 TINFO : Parent reporting 1023 files open
fork09 1 TPASS : test 1 PASSED
*** C1324T13 PASSED (1)
*** C1324T14 start *******************************
fork10 0 TINFO : fork child A
fork10 1 TPASS : test 1 PASSED
*** C1324T14 PASSED (1)
*** C1324T15 start *******************************
fork11 1 TPASS : fork test passed, 100 processes
*** C1324T15 PASSED (1)