[PATCH] Deprecate use of stdio
| From: | Sascha Schumann | Date: | Thu, 01 May 2003 23:04:47 +0000 |
| Subject: | [PATCH] Deprecate use of stdio | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-1143@lists.php.net to get a copy of this message | ||
The following patches are aimed at deprecating the use of
stdio by the script lexer in PHP 4, because certain stdio
libraries impose restrictive limits on the number of open
handles*.
The patches have been split functionally for the benefit of
the reviewer.
Patch 1 adds a stream interface which fills in a
zend_file_handle. This is simply a modified copy of the
open_as_file function.
Patch 2 adds zend_open() which expects the implementation to
fill in a zend_file_handle.
Patch 3 makes PHP supply a zend_open implementation.
Patch 4 modifies the lexer skeleton so that it can read using
POSIX functions and stdio. It also makes
open_file_for_scanning use zend_open.
* Background: Even the most modern Solaris ships with a stdio
library which cannot handle fds over 255. This severely
limits any web server which may open more than 255 fds per
process, because it won't be able to parse PHP scripts
anymore.
I've evaluated integrating sfio into the build process, but
as it turns out, a full and complete integration would be a
lot more complex than addressing the issue up-front.
- Sascha