--TEST-- Forking a child and using the same connection. --SKIPIF-- errno, $link->error)); ?> --FILE-- 3) { printf("[011] Child has fetched more than three rows!\n"); var_dump($client_row); if (!mysqli_query($plink, sprintf($parent_sql, 'stop'))) { printf("[012] Parent cannot inform child\n", mysqli_errno($plink), mysqli_error($plink)); } break 2; } if (!$parent_row = mysqli_fetch_assoc($res)) { printf("[013] Parent cannot fetch row %d\n", $num_rows, mysqli_errno($link), mysqli_error($link)); if (!mysqli_query($plink, sprintf($parent_sql, 'stop'))) { printf("[014] Parent cannot inform child\n", mysqli_errno($plink), mysqli_error($plink)); } break 2; } ob_start(); var_dump($parent_row); $parent_row = ob_get_contents(); ob_end_clean(); if ($parent_row != $client_row) { printf("[015] Child indicates different results than parent.\n"); var_dump($child_row); var_dump($parent_row); if (!mysqli_query($plink, sprintf($parent_sql, 'stop'))) { printf("[016] Parent cannot inform child\n", mysqli_errno($plink), mysqli_error($plink)); } break 2; } if (!mysqli_query($plink, sprintf($parent_sql, 'continue'))) { printf("[017] Parent cannot inform child to continue.\n", mysqli_errno($plink), mysqli_error($plink)); } break; } } mysqli_free_result($pres); } usleep(100); } while (((time() - $start) < 5) && ($num_rows < 3)); mysqli_close($plink); $wait_id = pcntl_waitpid($pid, $status); if (pcntl_wifexited($status) && (0 != ($tmp = pcntl_wexitstatus($status)))) { printf("Exit code: %s\n", (pcntl_wifexited($status)) ? pcntl_wexitstatus($status) : 'n/a'); printf("Signal: %s\n", (pcntl_wifsignaled($status)) ? pcntl_wtermsig($status) : 'n/a'); printf("Stopped: %d\n", (pcntl_wifstopped($status)) ? pcntl_wstopsig($status) : 'n/a'); } break; } mysqli_free_result($res); mysqli_close($link); if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) printf("[018] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n", $host, $user, $db, $port, $socket); if (!$res = mysqli_query($link, "SELECT sender, msg FROM messages ORDER BY msg_id ASC")) printf("[019] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); while ($row = mysqli_fetch_assoc($res)) printf("%10s %s\n", $row['sender'], substr($row['msg'], 0, 5)); mysqli_free_result($res); print "done!"; ?> --CLEAN-- --EXPECTF-- array(1) { ["message"]=> string(20) "dumped by the parent" } child start child array parent conti child array parent conti child array parent conti child stop done!