diff --git a/NEWS b/NEWS index 0a3c75348ea..6fcb6b9a92a 100644 --- a/NEWS +++ b/NEWS @@ -198,6 +198,8 @@ PHP NEWS SYN packets from the client. (David Carlier) . Added the SO_EXCLBIND constant for exclusive socket binding on illumos/solaris. (David Carlier) + . Updated the socket_create_listen backlog argument default value to SOMAXCONN. + (David Carlier) - SNMP: . Removed the deprecated inet_ntoa call support. (David Carlier) diff --git a/UPGRADING b/UPGRADING index 02c2ebafd76..5366b421624 100644 --- a/UPGRADING +++ b/UPGRADING @@ -387,6 +387,10 @@ PHP 8.4 UPGRADE NOTES . posix_isatty now sets the error number when the file descriptor/stream argument is invalid. +- Sockets: + . Parameter $backlog of socket_create_listen() now has a default value of SOMAXCONN. + Previously, it was 128. + - SPL: . SplPriorityQueue::insert() and SplPriorityQueue::recoverFromCorruption() now has a tentative return type of true diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c index 8a15e98c44c..1de50d9f887 100644 --- a/ext/sockets/sockets.c +++ b/ext/sockets/sockets.c @@ -220,7 +220,7 @@ ZEND_GET_MODULE(sockets) static bool php_open_listen_sock(php_socket *sock, int port, int backlog) /* {{{ */ { struct sockaddr_in la = {0}; - struct hostent *hp; + struct hostent *hp; #ifndef PHP_WIN32 if ((hp = php_network_gethostbyname("0.0.0.0")) == NULL) { @@ -641,7 +641,7 @@ PHP_FUNCTION(socket_select) PHP_FUNCTION(socket_create_listen) { php_socket *php_sock; - zend_long port, backlog = 128; + zend_long port, backlog = SOMAXCONN; if (zend_parse_parameters(ZEND_NUM_ARGS(), "l|l", &port, &backlog) == FAILURE) { RETURN_THROWS(); @@ -764,7 +764,7 @@ PHP_FUNCTION(socket_listen) { zval *arg1; php_socket *php_sock; - zend_long backlog = 0; + zend_long backlog = 0; if (zend_parse_parameters(ZEND_NUM_ARGS(), "O|l", &arg1, socket_ce, &backlog) == FAILURE) { RETURN_THROWS(); diff --git a/ext/sockets/sockets.stub.php b/ext/sockets/sockets.stub.php index 502fff2e0f1..00062610b7e 100644 --- a/ext/sockets/sockets.stub.php +++ b/ext/sockets/sockets.stub.php @@ -1885,7 +1885,7 @@ final class AddressInfo function socket_select(?array &$read, ?array &$write, ?array &$except, ?int $seconds, int $microseconds = 0): int|false {} -function socket_create_listen(int $port, int $backlog = 128): Socket|false {} +function socket_create_listen(int $port, int $backlog = SOMAXCONN): Socket|false {} function socket_accept(Socket $socket): Socket|false {} diff --git a/ext/sockets/sockets_arginfo.h b/ext/sockets/sockets_arginfo.h index 6697db704c7..50c5e114c8e 100644 --- a/ext/sockets/sockets_arginfo.h +++ b/ext/sockets/sockets_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 98bd7f47a1aa8d1c2cb40bf768115da2633f56fb */ + * Stub hash: 88a8e188f73c18c510eb984586b21109b347f251 */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_socket_select, 0, 4, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(1, read, IS_ARRAY, 1) @@ -11,7 +11,7 @@ ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_socket_create_listen, 0, 1, Socket, MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, port, IS_LONG, 0) - ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, backlog, IS_LONG, 0, "128") + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, backlog, IS_LONG, 0, "SOMAXCONN") ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_socket_accept, 0, 1, Socket, MAY_BE_FALSE)