1
0
mirror of https://github.com/php/php-src.git synced 2026-04-02 21:52:36 +02:00
Files
archived-php-src/ext
Wez Furlong 99e290f882 Fix for Bug #24189: possibly unsafe select(2) usage.
We avoid the problem by using poll(2).

On systems without poll(2) (older bsd-ish systems, and win32), we emulate
poll(2) using select(2) and check for valid descriptors before attempting
to access them via the descriptor sets.

If an out-of-range descriptor is detected, an E_WARNING is raised suggesting
that PHP should be recompiled with a larger FD_SETSIZE (and also with a
suggested value).

Most uses of select(2) in the source are to poll a single descriptor, so
a couple of handy wrapper functions have been added to make this easier.

A configure option --enable-fd-setsize has been added to both the unix and
win32 builds; on unix we default to 16384 and on windows we default to 256.
Windows FD_SETSIZE imposes a limit on the maximum number of descriptors that
can be select()ed at once, whereas the unix FD_SETSIZE limit is based on the
highest numbered descriptor; 256 should be plenty for PHP scripts under windows
(the default OS setting is 64).

The win32 specific parts are untested; will do that now.
2004-09-17 12:44:56 +00:00
..
2004-07-20 20:08:08 +00:00
2004-08-19 08:04:20 +00:00
2004-09-03 03:35:22 +00:00
2004-08-11 20:31:39 +00:00
2004-05-20 17:03:24 +00:00
2004-05-19 08:56:50 +00:00
2004-08-20 15:11:49 +00:00
2004-03-24 18:43:23 +00:00
2003-06-15 16:04:31 +00:00
2004-08-13 14:52:27 +00:00
2004-08-12 19:31:36 +00:00
2004-05-18 23:26:53 +00:00
2004-06-28 22:31:28 +00:00
2004-09-08 10:15:41 +00:00
2004-05-19 08:56:50 +00:00
2004-09-09 09:08:33 +00:00
2004-05-20 17:03:24 +00:00
2004-09-12 06:38:31 +00:00
2004-08-25 20:48:48 +00:00
2004-08-29 06:10:47 +00:00
2004-06-23 13:42:06 +00:00
2004-08-15 19:17:58 +00:00
2004-08-11 21:04:36 +00:00
2004-05-20 00:11:23 +00:00
2004-05-19 08:56:50 +00:00
2004-02-15 17:54:19 +00:00
2004-09-14 23:57:53 +00:00
2004-03-25 20:01:18 +00:00
2004-05-19 08:56:50 +00:00
2004-09-09 07:46:19 +00:00
2004-05-19 08:45:46 +00:00
2004-04-21 00:11:28 +00:00
2004-03-24 18:43:23 +00:00
2004-08-26 20:17:20 +00:00
2004-05-31 21:01:29 +00:00
;
2004-05-16 12:10:35 +00:00