From ec2a132f9c345e6b40d04f7230d25b2fe5659672 Mon Sep 17 00:00:00 2001 From: Igor Wiedler Date: Sun, 2 Sep 2012 23:18:45 +0200 Subject: [PATCH] Bug #49341: Add SO_REUSEPORT support for socket_set_option() This is a BSD-only feature, and it will only be available on BSD. On other platforms the constant will simply not be set. --- ext/sockets/sockets.c | 3 +++ ext/sockets/tests/bug49341.phpt | 15 +++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 ext/sockets/tests/bug49341.phpt diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c index 0d1714257dbc..d6ee418510d4 100644 --- a/ext/sockets/sockets.c +++ b/ext/sockets/sockets.c @@ -788,6 +788,9 @@ PHP_MINIT_FUNCTION(sockets) #endif REGISTER_LONG_CONSTANT("SO_DEBUG", SO_DEBUG, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("SO_REUSEADDR", SO_REUSEADDR, CONST_CS | CONST_PERSISTENT); +#ifdef SO_REUSEPORT + REGISTER_LONG_CONSTANT("SO_REUSEPORT", SO_REUSEPORT, CONST_CS | CONST_PERSISTENT); +#endif REGISTER_LONG_CONSTANT("SO_KEEPALIVE", SO_KEEPALIVE, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("SO_DONTROUTE", SO_DONTROUTE, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("SO_LINGER", SO_LINGER, CONST_CS | CONST_PERSISTENT); diff --git a/ext/sockets/tests/bug49341.phpt b/ext/sockets/tests/bug49341.phpt new file mode 100644 index 000000000000..c165ac7d68cf --- /dev/null +++ b/ext/sockets/tests/bug49341.phpt @@ -0,0 +1,15 @@ +--TEST-- +Bug #49341: add SO_REUSEPORT support for socket_set_option() +--SKIPIF-- +