summaryrefslogtreecommitdiff
path: root/main/streams
Commit message (Collapse)AuthorAgeFilesLines
* increase the polling period to not to break existing behavioursAnatol Belski2014-09-291-1/+1
|
* Fixed bug #51800 proc_open on Windows hangs foreverAnatol Belski2014-09-291-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This loop can block for some minutes, theoretically. Practially however, this is a 99% non issue for a normal use case. This is required because read() is synchronous. The PHP streams API wants to fill its internal buffers, therefore it might try to read some more data than user has demanded. Also, for a case where we want to read X bytes, but neither enough data nor EOF arrives, read() will block until it could fill the buffer. If a counterpart station runs slowly or delivers not all the data at once, read() would still be waiting. If we quit too early, we possibly could loose some data from the pipe. Thus it has to emulate the read() behaviour, but obviously not completely, just to some grade. Reading big data amount is for sure an issue on any platforms, it depends on the pipe buffer size, which is controlled by the system. On Windows, the buffer size seems to be way too small, which causes buffer congestion and a dead lock. It is essential to read the pipe descriptors simultaneously and possibly in the same order as the opposite writes them. Thus, this will work with smaller buffer data sizes passed through pipes. As MSDN states, anonymous pipes don't support asynchronous operations. Neither anonymous pipes do support select() as they are not SOCKETs but file descriptors. Consequently - bigger data sizes will need a better solution based on threads. However it is much more expencive. Maybe a better solution could be exporting a part of the internal doing as a userspace function which could perform some kind of lookahead operation on the pipe descriptor. This is just the first stone, depending on the user feedback we might go for further improvements in this area.
* Merge branch 'PHP-5.4' into PHP-5.5Chris Wright2014-08-271-4/+4
|\ | | | | | | | | | | | | | | * PHP-5.4: Fix stream_select() issue with OpenSSL buffer Conflicts: ext/openssl/xp_ssl.c
| * Fix stream_select() issue with OpenSSL bufferChris Wright2014-08-271-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | Ensure data from OpenSSL internal buffer has been transfered to PHP stream buffer before a select() emulation operation is performed Addresses bug #65137 https://bugs.php.net/bug.php?id=65137 Conflicts: ext/openssl/xp_ssl.c
* | Merge branch 'PHP-5.4' into PHP-5.5Stanislav Malyshev2014-04-201-22/+26
|\ \ | |/ | | | | | | * PHP-5.4: Fix bug #65701: Do not use cache for file file copy
| * Fix bug #65701: Do not use cache for file file copyBoro Sitnikovski2014-04-201-22/+26
| |
* | Merge branch 'PHP-5.4' into PHP-5.5Michael Wallner2014-04-031-2/+7
|\ \ | |/ | | | | | | * PHP-5.4: Fix Bug #66736 fpassthru broken
| * Fix Bug #66736 fpassthru brokenMichael Wallner2014-04-031-2/+7
| |
* | Merge branch 'PHP-5.4' into PHP-5.5Michael Wallner2014-04-021-0/+4
|\ \ | |/ | | | | | | * PHP-5.4: Fixed bug #61019 (Out of memory on command stream_get_contents)
| * Fixed bug #61019 (Out of memory on command stream_get_contents)Michael Wallner2014-04-021-0/+4
| |
* | Merge branch 'PHP-5.4' into PHP-5.5Michael Wallner2014-04-021-1/+2
|\ \ | |/ | | | | | | * PHP-5.4: Fix bug #64330
| * Fix bug #64330Michael Wallner2014-04-021-1/+2
| | | | | | | | stream_socket_server() creates wrong Abstract Namespace UNIX sockets
| * Bump yearXinchen Hui2014-01-0318-18/+18
| |
* | Bump yearXinchen Hui2014-01-0318-18/+18
| |
* | Fixed bug #65486 mysqli_poll() is broken on Win x64Anatol Belski2013-12-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While this issue is visible in mysqli_poll() functions, the cause lays deeper in the stream to socket casting API. On Win x64 the SOCKET datatype is a 64 or 32 bit unsigned, while on Linux/Unix-like it's 32 bit signed integer. The game of casting 32 bit var to/from 64 bit pointer back and forth is the best way to break it. Further more, while socket and file descriptors are always integers on Linux, those are different things using different APIs on Windows. Even though using integer instead of SOCKET might work on Windows, this issue might need to be revamped more carefully later. By this time this patch is tested well with phpt and apps and shows no regressions, neither in mysqli_poll() nor in any other parts.
* | Merge branch 'PHP-5.4' into PHP-5.5Michael Wallner2013-12-061-5/+7
|\ \ | |/ | | | | | | | | * PHP-5.4: Fixed bug #61645 (fopen and O_NONBLOCK) fix possibly uninitialized value
| * Fixed bug #61645 (fopen and O_NONBLOCK)Michael Wallner2013-12-061-5/+7
| | | | | | | | | | | | if a mode like "rn" was passed to fopen(), then php_stream_parse_fopen_modes() would assign O_WRONLY to flags, because O_NONBLOCK tainted flags for the r/w/+ check
* | Merge branch 'PHP-5.4' into PHP-5.5Matteo Beccati2013-07-191-1/+1
|\ \ | |/ | | | | | | * PHP-5.4: Properly fixed bug #63186 on NetBSD == 6.0
| * Properly fixed bug #63186 on NetBSD == 6.0Matteo Beccati2013-07-191-1/+1
| |
* | Merge branch 'PHP-5.4' into PHP-5.5Anatol Belski2013-07-101-1/+3
|\ \ | |/ | | | | | | * PHP-5.4: fix possible resource leak and make sure there's something to qsort()
| * fix possible resource leak and make sure there's something to qsort()Anatol Belski2013-07-101-1/+3
| |
* | Merge branch 'PHP-5.4' into PHP-5.5Matteo Beccati2013-06-141-3/+11
|\ \ | |/ | | | | | | * PHP-5.4: Fixed bug #63186 (compile failure on netbsd)
| * Merge branch 'PHP-5.3' into PHP-5.4Matteo Beccati2013-06-141-3/+11
| |\ | | | | | | | | | | | | * PHP-5.3: Fixed bug #63186 (compile failure on netbsd)
| | * Fixed bug #63186 (compile failure on netbsd)Matteo Beccati2013-06-141-3/+11
| | |
| | * Happy New Year~Xinchen Hui2013-01-0118-18/+18
| | |
| * | Merge branch 'pull-request/341'Stanislav Malyshev2013-06-101-1/+1
| | | | | | | | | | | | | | | * pull-request/341: (23 commits) typofixes
* | | Merge branch 'pull-request/341'Stanislav Malyshev2013-06-101-1/+1
| | | | | | | | | | | | | | | * pull-request/341: (23 commits) typofixes
* | | Merge branch 'PHP-5.4' into PHP-5.5Remi Collet2013-04-021-2/+4
|\ \ \ | |/ / | | | | | | | | | * PHP-5.4: keep previous test to avoid any behavior change
| * | keep previous test to avoid any behavior changeRemi Collet2013-04-021-2/+4
| | |
* | | Merge branch 'PHP-5.4' into PHP-5.5Remi Collet2013-04-021-8/+5
|\ \ \ | |/ / | | | | | | | | | | | | * PHP-5.4: fix comment Fixed Bug #64565 copy doesn't report failure on partial copy
| * | fix commentRemi Collet2013-04-021-3/+1
| | |
| * | Fixed Bug #64565 copy doesn't report failure on partial copyRemi Collet2013-04-021-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | _php_stream_copy_to_stream_ex, when mmap is possible, doesn't check if actually written bytes match read bytes. Fix this (paranoid check) to be consistent with non mmap mode Seems hard to add a unit test, as this rely on a full filesystem.
* | | Merge branch 'PHP-5.4' into PHP-5.5Stanislav Malyshev2013-01-271-1/+1
|\ \ \ | |/ / | | | | | | | | | * PHP-5.4: Fix missing parameter
| * | Fix missing parameterAndras Elso2013-01-271-1/+1
| | |
| * | Happy New YearXinchen Hui2013-01-0118-18/+18
| | |
* | | Happy New YearXinchen Hui2013-01-0118-18/+18
| | |
* | | Merge branch 'PHP-5.4' into PHP-5.5Rasmus Lerdorf2012-12-191-1/+1
|\ \ \ | |/ /
| * | Fix for bug #63811Rasmus Lerdorf2012-12-191-1/+1
| | |
* | | Merge branch 'PHP-5.4'Gustavo Lopes2012-10-121-2/+10
|\ \ \ | |/ / | | | | | | | | | * PHP-5.4: Fix bug #63240 on stream_get_line()
| * | Merge branch 'PHP-5.3' into PHP-5.4Gustavo Lopes2012-10-121-2/+10
| |\ \ | | |/ | | | | | | | | | * PHP-5.3: Fix bug #63240 on stream_get_line()
| | * Fix bug #63240 on stream_get_line()Gustavo Lopes2012-10-121-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | stream_get_line() could contain the delimiter string if that string had more than one character. The bug manifested itself when a read on the stream ended with part of the delimiter string and the read after would start with the rest of the delimiter string; provided that the data of first read did not complete the max length result of the call to stream_get_line() with the partial delimiter used in that max length return. In that case, the delimiter will still appear in the result, divided in two subsequent return values. That is not a bug. See <http://www.mail-archive.com/internals@lists.php.net/msg61325.html>
* | | Merge branch 'PHP-5.4'Xinchen Hui2012-10-093-0/+0
|\ \ \ | |/ /
| * | Merge branch 'PHP-5.3' into PHP-5.4Xinchen Hui2012-10-093-0/+0
| |\ \ | | |/
| | * Fixed bug #63236 (Executable permission on various source files)Xinchen Hui2012-10-093-0/+0
| | |
* | | Merge branch 'PHP-5.4'Stanislav Malyshev2012-08-091-117/+80
|\ \ \ | |/ / | | | | | | | | | | | | * PHP-5.4: News for bug#40459 fix bug #40459 - make all stream funcs that create object call ctor
| * | fix bug #40459 - make all stream funcs that create object call ctorStanislav Malyshev2012-08-071-117/+80
| | |
* | | Merge branch 'PHP-5.4'Stanislav Malyshev2012-06-081-0/+5
|\ \ \ | |/ / | | | | | | | | | | | | | | | * PHP-5.4: improve overflow checks add NEWS fix potential overflow in _php_stream_scandir
| * | Merge branch 'PHP-5.3' into PHP-5.4Stanislav Malyshev2012-06-081-0/+5
| |\ \ | | |/ | | | | | | | | | | | | * PHP-5.3: improve overflow checks fix potential overflow in _php_stream_scandir
| | * improve overflow checksStanislav Malyshev2012-06-081-5/+5
| | |
| | * fix potential overflow in _php_stream_scandirStanislav Malyshev2012-06-071-3/+8
| | |