lbarnaud Tue Nov 4 16:45:42 2008 UTC
Added files:
/php-src/ext/standard/tests/streams stream_socket_pair.phpt
Modified files:
/php-src/ext/standard streamsfuncs.c
Log:
Avoids fclose() from complaining that stream_socket_pair() streams
have not been closed
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/streamsfuncs.c?r1=1.128&r2=1.129&diff_format=u
Index: php-src/ext/standard/streamsfuncs.c
diff -u php-src/ext/standard/streamsfuncs.c:1.128
php-src/ext/standard/streamsfuncs.c:1.129
--- php-src/ext/standard/streamsfuncs.c:1.128 Tue Nov 4 00:42:19 2008
+++ php-src/ext/standard/streamsfuncs.c Tue Nov 4 16:45:42 2008
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: streamsfuncs.c,v 1.128 2008/11/04 00:42:19 lbarnaud Exp $ */
+/* $Id: streamsfuncs.c,v 1.129 2008/11/04 16:45:42 lbarnaud Exp $ */
#include "php.h"
#include "php_globals.h"
@@ -69,6 +69,11 @@
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));
}
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/streams/stream_socket_pair.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/streams/stream_socket_pair.phpt
+++ php-src/ext/standard/tests/streams/stream_socket_pair.phpt
--TEST--
stream_socket_pair()
--SKIPIF--
<?php
if (substr(PHP_OS, 0, 3) == 'WIN') die("skip: non windows test");
?>
--FILE--
<?php
$sockets = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, 0);
var_dump($sockets);
fwrite($sockets[0], b"foo");
var_dump(fread($sockets[1], strlen(b"foo")));
fclose($sockets[0]);
?>
--EXPECTF--
array(2) {
[0]=>
resource(%d) of type (stream)
[1]=>
resource(%d) of type (stream)
}
string(3) "foo"
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php