Re: 2 questions: getter/setter use and streams use
| From: | Uwe Schindler | Date: | Mon, 14 Apr 2003 20:36:37 +0000 |
| Subject: | Re: 2 questions: getter/setter use and streams use | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-917@lists.php.net to get a copy of this message | ||
Sorry that I wait so long in testing sfio on solaris 9, but after tomorrow I will have enough time (diploma exam...). What I can say about it:
The current version of sfio is not compatible with Solaris 8/9:
* Compiling fails because FILE_TAG is not only declared in stdio.h only, also in some other .h files (I think this is for faster preprocessing???)
* Linking with -lstdio -lsfio only works if libstdio.a and libsfio.a are in the current directory (-L. instead of -L/path/to/libs), if not it fails (I do not know why, could be that -L. is used automatically as the first search path for libs, if use exact dir it is searched for at the end)
When this problems are solved, I would prefer to make a switch --with-sfio into the configure script. I think I will check this during this week. If the linking problem is still there a method to fix this would be by copying the .a files befor make or in the configure script). The missing replacement header file problem can be fixed by one additional replacement for floating_point.h (this is the header file which has a duplicate definition of FILE_TAG).
Uwe
At 18:17 14.04.2003 +0100, Wez Furlong wrote:
Thats right - I am talking about ANSI stdio; fopen() etc., not POSIX open(). --Wez. On Mon, 14 Apr 2003, George Schlossnagle wrote: On Monday, April 14, 2003, at 12:09 PM, Wez Furlong wrote:----- Uwe Schindler Addr 1: Bamberger Str. 24a, D-96049 Bamberg Addr 2: Drausnickstr. 153, D-91052 Erlangen http://www.thetaphi.de - http:///www.schindlers-software.de eMails: uwe@thetaphi.de (private); info@schindlers-software.de (company) Tel./Fax: +49 700 PCLATEIN (+49 700 72528346) Schindlers Software - Home of Schindlers PC-LATEIN 3.10 DIE Software zum Lateinlernen!On the contrary, it's easy to underestimate the problem :) If you are using a stdio replacement, (such as sfio), then you are more-or-less safe from the problem. The problem is that the native libc will not allow file descriptors with a numerical value > 255, regardless of your per-process file descriptor limit.I don't think this is true. #include "stdio.h" #include "fcntl.h" int main() {int i = 0; int fd = 0; while(1) { char path[11]; snprintf(path, 11, "/tmp/t/%d", i++); if((fd = open(path, O_RDWR|O_CREAT, 0)) < 0 ) { return; } printf("Opened fd: %d number %d\n", fd, i); }} created me 1021 fd's as a non-priv'd user on my Sol 2.6 system (with it's standard libc). The problem is with the stdio routines (fopen et. al.). As long as you don't use fopen you're set. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php