summaryrefslogtreecommitdiff
path: root/ext/posix/posix.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/posix/posix.c')
-rw-r--r--ext/posix/posix.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/posix/posix.c b/ext/posix/posix.c
index 7212de3c90..7252e2f0cd 100644
--- a/ext/posix/posix.c
+++ b/ext/posix/posix.c
@@ -703,7 +703,9 @@ static int php_posix_stream_get_fd(zval *zfp, int *fd TSRMLS_DC) /* {{{ */
php_error_docref(NULL TSRMLS_CC, E_WARNING, "expects argument 1 to be a valid stream resource");
return 0;
}
- if (php_stream_can_cast(stream, PHP_STREAM_AS_FD) == SUCCESS) {
+ if (php_stream_can_cast(stream, PHP_STREAM_AS_FD_FOR_SELECT) == SUCCESS) {
+ php_stream_cast(stream, PHP_STREAM_AS_FD_FOR_SELECT, (void*)fd, 0);
+ } else if (php_stream_can_cast(stream, PHP_STREAM_AS_FD) == SUCCESS) {
php_stream_cast(stream, PHP_STREAM_AS_FD, (void*)fd, 0);
} else {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "could not use stream of type '%s'",