Annotation of embedaddon/php/ext/pcntl/tests/pcntl_fork_variation.phpt, revision 1.1.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>