From 0bb5310a63535a52ebf5ffdfa3ec6229f802fbc3 Mon Sep 17 00:00:00 2001 From: Arnaud Le Blanc Date: Tue, 4 Nov 2008 16:45:42 +0000 Subject: [PATCH] Avoids fclose() from complaining that stream_socket_pair() streams have not been closed --- ext/standard/streamsfuncs.c | 5 +++++ .../tests/streams/stream_socket_pair.phpt | 22 +++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 ext/standard/tests/streams/stream_socket_pair.phpt diff --git a/ext/standard/streamsfuncs.c b/ext/standard/streamsfuncs.c index d5552a01cd..8da886aef5 100644 --- a/ext/standard/streamsfuncs.c +++ b/ext/standard/streamsfuncs.c @@ -69,6 +69,11 @@ PHP_FUNCTION(stream_socket_pair) s1 = php_stream_sock_open_from_socket(pair[0], 0); s2 = php_stream_sock_open_from_socket(pair[1], 0); + /* set the __exposed flag. + * php_stream_to_zval() does, add_next_index_resource() does not */ + php_stream_auto_cleanup(s1); + php_stream_auto_cleanup(s2); + add_next_index_resource(return_value, php_stream_get_resource_id(s1)); add_next_index_resource(return_value, php_stream_get_resource_id(s2)); } diff --git a/ext/standard/tests/streams/stream_socket_pair.phpt b/ext/standard/tests/streams/stream_socket_pair.phpt new file mode 100644 index 0000000000..5556d8e22c --- /dev/null +++ b/ext/standard/tests/streams/stream_socket_pair.phpt @@ -0,0 +1,22 @@ +--TEST-- +stream_socket_pair() +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +array(2) { + [0]=> + resource(%d) of type (stream) + [1]=> + resource(%d) of type (stream) +} +string(3) "foo" -- 2.50.1