Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
b570514
Updated the stream_select() function so that it supports bigger file …
frodeborli Jun 3, 2024
166a0e4
Removed unused functions. Unsure if this is correct, since I don't kn…
frodeborli Jun 3, 2024
e3edadb
Merge branch 'php:master' into stream_select_unlimited
frodeborli Jun 3, 2024
f8c53e5
Fix bug which was found by CI on php-src when commiting using a diffe…
frodeborli Jun 3, 2024
5631e3b
Fixed mistake from lazyness. The function now properly finds the larg…
frodeborli Jun 3, 2024
581a8d5
Apparently the CI on github finds stuff my building process does not …
frodeborli Jun 3, 2024
b93d754
Problems
frodeborli Jun 4, 2024
ae8d2ec
Updated code setting the max_fds based on the ulimit for the process.
frodeborli Jun 4, 2024
5fed836
Fixed order of some input tests that caused testing to fail
frodeborli Jun 5, 2024
9f98fe4
Merge branch 'php:master' into stream_select_unlimited
frodeborli Jun 5, 2024
7c07b77
Refactored code and improved safey of macros according to comments on…
frodeborli Jun 7, 2024
2c146fa
Merge branch 'php:master' into stream_select_unlimited
frodeborli Jun 25, 2024
cad406e
fix: Added a cap to the number of file descriptors it can poll, in ca…
frodeborli Jun 25, 2024
7e7ead3
Merge branch 'php:master' into stream_select_unlimited
frodeborli Jul 1, 2024
9c3c9b5
fix: Updated stream_select implementation to dynamically resize the f…
frodeborli Jul 1, 2024
84a8e28
fix: Unused argument max_fds removed from a couple of functions.
frodeborli Jul 1, 2024
8a15aa3
Merge branch 'php:master' into stream_select_unlimited
frodeborli Jul 2, 2024
be6d295
fix: Improvments suggested by @arnaud-lb
frodeborli Jul 2, 2024
30aff57
fix: keep Windows on native fd_set, fix indentation to match .editorc…
frodeborli Sep 22, 2026
a97210c
Merge upstream php-src master into stream_select_unlimited
frodeborli Sep 22, 2026
9df943c
fix: two heap-safety bugs in fd_bigset found by code review
frodeborli Sep 22, 2026
d2b1dec
Update GH-9590 tests: fixing the fd_bigset limitation, not papering o…
frodeborli Sep 22, 2026
9398932
Windows: grow stream_select() fd_set on demand and cap handle count
frodeborli Sep 22, 2026
2fa18f0
Document the POSIX fd_set limit removal; correct UPGRADING and test w…
frodeborli Sep 22, 2026
a7ddad0
Merge remote-tracking branch 'upstream/master' into stream_select_unl…
frodeborli Sep 22, 2026
8a30d88
Test stream_select() past FD_SETSIZE in the write and except sets
frodeborli Sep 25, 2026
925a91d
Test stream_select() on Windows with the write and except sets grown too
frodeborli Sep 25, 2026
acecffe
Merge remote-tracking branch 'upstream/master' into stream_select_unl…
frodeborli Sep 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,15 @@ PHP NEWS
unconstructed Collator. (Ilia Alshanetsky)

- Standard:
. Fixed stream_select() aborting the whole call once any watched stream's
descriptor exceeded FD_SETSIZE; it no longer imposes that limit, so watching
many descriptors no longer requires rebuilding with --enable-fd-setsize.
(Frode Børli)
. Fixed stream_select() on Windows capping the number of watched sockets at
FD_SETSIZE; the winsock fd_set now grows on demand. (Frode Børli)
. Fixed stream_select() on Windows overflowing a fixed 64-entry stack array
(crashing with a stack buffer overrun) when passed more than 64 pipe or file
handles; it now fails gracefully instead. (Frode Børli)
. Improved performance of array_splice() when inserting without removing
elements. (mehmetcansahin)

Expand Down
8 changes: 8 additions & 0 deletions UPGRADING
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,14 @@ PHP 8.7 UPGRADE NOTES
5. Changed Functions
========================================

- Standard:
. stream_select() no longer fails once a watched descriptor exceeds
FD_SETSIZE. The descriptor set now grows on demand on both POSIX (bitset)
and Windows (winsock fd_set), so code watching many streams works without
rebuilding PHP with --enable-fd-setsize. On Windows, selecting on more than
64 pipe or file handles no longer crashes; it fails with a warning, as that
path remains bounded by WaitForMultipleObjects().

========================================
6. New Functions
========================================
Expand Down
Loading
Loading