There seems to be a problem in the streams.c code. There is a line that has the construct
#if defined(S_ISFIFO) || defined(S_ISSOCK) the problem is the the code below assumes that S_ISSOCK is defined but the if statement is true if either S_ISFIFO or S_ISSOCK is defined. If you have a system (like I do) that defines S_ISFIFO but not S_ISSOCK, the code fails. I looked at the PHP-4.3.4 code and munged the code as per the patch below to make it compile. Someone might want to look at this further. Thanks, *** streams.c Tue Mar 16 17:23:25 2004 --- streams.c.new Sun Mar 28 08:06:00 2004 *************** *** 2016,2022 **** { php_stdio_stream_data *self; php_stream *stream; ! #if defined(S_ISFIFO) || defined(S_ISSOCK) struct stat sb; int stat_ok; --- 2016,2022 ---- { php_stdio_stream_data *self; php_stream *stream; ! #if defined(S_ISFIFO) && defined(S_ISSOCK) struct stat sb; int stat_ok; *************** *** 2037,2044 **** #ifdef S_ISFIFO /* detect if this is a pipe */ ! if (stat_ok) { ! self->is_pipe = S_ISFIFO(sb.st_mode) ? 1 : 0; } #elif defined(PHP_WIN32) { --- 2037,2045 ---- #ifdef S_ISFIFO /* detect if this is a pipe */ ! if (self->fd >= 0) { ! struct stat sb; ! self->is_pipe = (fstat(self->fd, &sb) == 0 && S_ISFIFO(sb.st_mode)) ? 1 : 0; } #elif defined(PHP_WIN32) { -- Phillip P. Porch <[EMAIL PROTECTED]> NIC:PP1573 finger for http://www.theporch.com 36 1.187 N 86 44.018 W GnuPG key -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php