diff --git a/NEWS b/NEWS index b039c3d426c..cbfde79094f 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? ????, PHP 8.2.9 +- CLI: + . Fix interrupted CLI output causing the process to exit. (nielsdos) + - PDO SQLite: . Fix GH-11492 (Make test failure: ext/pdo_sqlite/tests/bug_42589.phpt). (KapitanOczywisty, CViniciusSDias) diff --git a/sapi/cli/php_cli.c b/sapi/cli/php_cli.c index 9830d84a0af..ff525438ebc 100644 --- a/sapi/cli/php_cli.c +++ b/sapi/cli/php_cli.c @@ -263,7 +263,7 @@ PHP_CLI_API ssize_t sapi_cli_single_write(const char *str, size_t str_length) /* #ifdef PHP_WRITE_STDOUT do { ret = write(STDOUT_FILENO, str, str_length); - } while (ret <= 0 && errno == EAGAIN && sapi_cli_select(STDOUT_FILENO)); + } while (ret <= 0 && (errno == EINTR || (errno == EAGAIN && sapi_cli_select(STDOUT_FILENO)))); #else ret = fwrite(str, 1, MIN(str_length, 16384), stdout); if (ret == 0 && ferror(stdout)) {