src/Psalm/Internal/Fork/Pool.php
public function wait(): array
    {
        // Read all the streams from child processes into an array.
        $content = $this->readResultsFromChildren();

        // Wait for all children to return
        foreach ($this->child_pid_list as $child_pid) {
            $process_lookup = posix_kill($child_pid, 0);

            $status = 0;

            if ($process_lookup) {
                /**
                 * @psalm-suppress UndefinedConstant - does not exist on windows
                 * @psalm-suppress MixedArgument
                 */
                posix_kill($child_pid, SIGALRM);

                if (pcntl_waitpid($child_pid, $status) < 0) {
                    error_log(posix_strerror(posix_get_last_error()));
                }
            }

            // Check to see if the child died a graceful death
            if (pcntl_wifsignaled($status)) {
                $return_code = pcntl_wexitstatus($status);
                $term_sig = pcntl_wtermsig($status);

                /**
                 * @psalm-suppress UndefinedConstant - does not exist on windows
                 */
                if ($term_sig !== SIGALRM) {
                    $this->did_have_error = true;
                    error_log("Child terminated with return code $return_code and signal $term_sig");
                }
            }
        }

        return $content;
    }
public function wait(): array
    {
        // Read all the streams from child processes into an array.
        $content = $this->readResultsFromChildren();

        // Wait for all children to return
        foreach ($this->child_pid_list as $child_pid) {
            $process_lookup = posix_kill($child_pid, 0);

            $status = 0;

            if ($process_lookup) {
                /**
                 * @psalm-suppress UndefinedConstant - does not exist on windows
                 * @psalm-suppress MixedArgument
                 */
                posix_kill($child_pid, SIGALRM);

                if (pcntl_waitpid($child_pid, $status) < 0) {
                    error_log(posix_strerror(posix_get_last_error()));
                }
            }

            // Check to see if the child died a graceful death
            if (pcntl_wifsignaled($status)) {
                $return_code = pcntl_wexitstatus($status);
                $term_sig = pcntl_wtermsig($status);

                /**
                 * @psalm-suppress UndefinedConstant - does not exist on windows
                 */
                if ($term_sig !== SIGALRM) {
                    $this->did_have_error = true;
                    error_log("Child terminated with return code $return_code and signal $term_sig");
                }
            }
        }

        return $content;
    }
public function wait ( ) : array { // Read all the streams from child processes into an array. $ content = $ this -> readResultsFromChildren ( ) ; // Wait for all children to return foreach ( $ this -> child_pid_list as $ child_pid ) { $ process_lookup = posix_kill ( $ child_pid , 0 ) ; $ status = 0 ; if ( $ process_lookup ) { /**
                 * @psalm-suppress UndefinedConstant - does not exist on windows
                 * @psalm-suppress MixedArgument
                 */ posix_kill ( $ child_pid , SIGALRM ) ; if ( pcntl_waitpid ( $ child_pid , $ status ) < 0 ) { error_log ( posix_strerror ( posix_get_last_error ( ) ) ) ; } } // Check to see if the child died a graceful death if ( pcntl_wifsignaled ( $ status ) ) { $ return_code = pcntl_wexitstatus ( $ status ) ; $ term_sig = pcntl_wtermsig ( $ status ) ; /**
                 * @psalm-suppress UndefinedConstant - does not exist on windows
                 */ if ( $ term_sig !== SIGALRM ) { $ this -> did_have_error = true ; error_log ( "Child terminated with return code $return_code and signal $term_sig" ) ; } } } return $ content ; }
Wait for all child processes to complete

@return array
Wait for all child processes to complete