From 0362959615df71e40da0193e50e83c9fb23ac6b1 Mon Sep 17 00:00:00 2001 From: David CARLIER Date: Sat, 8 Apr 2023 08:50:40 +0100 Subject: [PATCH] ext/sockets adding FreeBSD's SO_REUSEPORT_LB constant. SO_REUSEPORT_LB is, in fact, closer to the classical Linux's SO_REUSEPORT. --- UPGRADING | 1 + ext/sockets/sockets.stub.php | 7 +++++++ ext/sockets/sockets_arginfo.h | 5 ++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/UPGRADING b/UPGRADING index 5c74afb66743b..c82352394e6c2 100644 --- a/UPGRADING +++ b/UPGRADING @@ -214,6 +214,7 @@ PHP 8.3 UPGRADE NOTES . SO_ZEROIZE (OpenBSD only). . SO_SPLICE (OpenBSD only). . TCP_REPAIR (Linux only). + . SO_REUSEPORT_LB (FreeBSD only). ======================================== 11. Changes to INI File Handling diff --git a/ext/sockets/sockets.stub.php b/ext/sockets/sockets.stub.php index 55596dc83ce7c..c0007a8f938cd 100644 --- a/ext/sockets/sockets.stub.php +++ b/ext/sockets/sockets.stub.php @@ -173,6 +173,13 @@ */ const SO_REUSEPORT = UNKNOWN; #endif +#ifdef SO_REUSEPORT_LB +/** + * @var int + * @cvalue SO_REUSEPORT_LB + */ +const SO_REUSEPORT_LB = UNKNOWN; +#endif /** * @var int * @cvalue SO_KEEPALIVE diff --git a/ext/sockets/sockets_arginfo.h b/ext/sockets/sockets_arginfo.h index b936985b57ed6..dbc88406d8f8a 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: e636fc791c75cffe089fdcba26d38c9dedb89b57 */ + * Stub hash: b8ca31ff65d450afac0d7e555311f57193b003c4 */ 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) @@ -391,6 +391,9 @@ static void register_sockets_symbols(int module_number) REGISTER_LONG_CONSTANT("SO_REUSEADDR", SO_REUSEADDR, CONST_PERSISTENT); #if defined(SO_REUSEPORT) REGISTER_LONG_CONSTANT("SO_REUSEPORT", SO_REUSEPORT, CONST_PERSISTENT); +#endif +#if defined(SO_REUSEPORT_LB) + REGISTER_LONG_CONSTANT("SO_REUSEPORT_LB", SO_REUSEPORT_LB, CONST_PERSISTENT); #endif REGISTER_LONG_CONSTANT("SO_KEEPALIVE", SO_KEEPALIVE, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("SO_DONTROUTE", SO_DONTROUTE, CONST_PERSISTENT);