Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:1157 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 91207 invoked from network); 2 May 2003 10:56:09 -0000 Received: from unknown (HELO secure.thebrainroom.com) (213.239.42.171) by pb1.pair.com with SMTP; 2 May 2003 10:56:09 -0000 Received: from zaneeb.brainnet.i (brain.dial.nildram.co.uk [195.149.29.154]) by secure.thebrainroom.com (8.9.3/8.9.3) with ESMTP id LAA22410; Fri, 2 May 2003 11:56:06 +0100 Received: from zaneeb.brainnet.i (IDENT:J8oxrp93PLUN+JTsuY9Joy54DD/R5jIH@zaneeb.brainnet.i [127.0.0.1]) by zaneeb.brainnet.i (8.11.6/8.11.6) with ESMTP id h42Au8808157; Fri, 2 May 2003 11:56:08 +0100 Date: Fri, 2 May 2003 11:56:08 +0100 (BST) X-X-Sender: wez@zaneeb.brainnet.i To: Sascha Schumann cc: internals@lists.php.net In-Reply-To: Message-ID: References: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: Re: [PHP-DEV] [PATCH] Deprecate use of stdio From: wez@thebrainroom.com (Wez Furlong) +1 from me, but we need to make an extra effort to stress test the lexer (the ini file parser as well as the language parser) in our QA process. Also, for the sake of binary compatibility (not sure just how much of an issue this is here), its "nicer" to add the zend_open function pointer to the end of the utility functions structure, rather than in the middle. What do Zeev/Andi think of this? --Wez. On Fri, 2 May 2003, Sascha Schumann wrote: > 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