Annotation of embedaddon/php/ext/pcntl/tests/pcntl_fork_variation.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test function pcntl_fork() by testing the process isolation in the forking hierarchy father -> son -> grandson where father can not knows his grandson
! 3: --CREDITS--
! 4: Marco Fabbri mrfabbri@gmail.com
! 5: Francesco Fullone ff@ideato.it
! 6: #PHPTestFest Cesena Italia on 2009-06-20
! 7: --SKIPIF--
! 8: <?php
! 9: if (!extension_loaded('pcntl')) die('skip pcntl extension not available');
! 10: elseif (!extension_loaded('posix')) die('skip posix extension not available');
! 11: ?>
! 12: --FILE--
! 13: <?php
! 14: echo "*** Testing the process isolations between a process and its forks ***\n";
! 15:
! 16: $pid = pcntl_fork();
! 17:
! 18: if ($pid > 0) {
! 19: pcntl_wait($status);
! 20: echo "father is $pid\n";
! 21:
! 22: if (!isset($pid2))
! 23: {
! 24: echo "father ($pid) doesn't know its grandsons\n";
! 25: }
! 26: }
! 27: else
! 28: {
! 29: echo "son ($pid)\n";
! 30: $pid2 = pcntl_fork();
! 31: if ($pid2 > 0)
! 32: {
! 33: pcntl_wait($status2);
! 34: echo "son is father of $pid2\n";
! 35: }
! 36: else
! 37: {
! 38: echo "grandson ($pid2)\n";
! 39: }
! 40: }
! 41: ?>
! 42: --EXPECTF--
! 43: *** Testing the process isolations between a process and its forks ***
! 44: son (0)
! 45: grandson (0)
! 46: son is father of %d
! 47: father is %d
! 48: father (%d) doesn't know its grandsons
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>