The following script:
<?php
error_reporting(E_ALL);
leak(100);
print "hello\n";
Doesn't report a leak in CLI mode but it does in CGI. It seems that stderr
and stdout file descriptors are getting screwed up in CLI. I remember
someone messing around with this.
Any ideas?
Thanks,
Andi
When STDERR
gets dtor'd, the descriptor is closed, so the leak messages are
heading into the void.
The reason for the change was so that PHP CLI could be launched from inetd and
be able to close descriptors.
A (somewhat hacky) fix would be to skip closing the descriptor if it is the
stderr descriptor and if PHP is in request shutdown.
--Wez.
-----Original Message-----
From: Andi Gutmans [mailto:andi@zend.com]
Sent: 25 May 2004 11:14
To: internals@lists.php.net
Subject: [PHP-DEV] Problem in CLIThe following script:
<?php
error_reporting(E_ALL);
leak(100);
print "hello\n";Doesn't report a leak in CLI mode but it does in CGI. It
seems that stderr
and stdout file descriptors are getting screwed up in CLI. I remember
someone messing around with this.
Any ideas?Thanks,
Andi
Why are we creating a resource for these descriptors? Is it for the
constants in PHP?
Andi
At 12:21 PM 5/25/2004 +0100, Wez Furlong wrote:
When
STDERR
gets dtor'd, the descriptor is closed, so the leak messages are
heading into the void.The reason for the change was so that PHP CLI could be launched from inetd and
be able to close descriptors.A (somewhat hacky) fix would be to skip closing the descriptor if it is the
stderr descriptor and if PHP is in request shutdown.--Wez.
-----Original Message-----
From: Andi Gutmans [mailto:andi@zend.com]
Sent: 25 May 2004 11:14
To: internals@lists.php.net
Subject: [PHP-DEV] Problem in CLIThe following script:
<?php
error_reporting(E_ALL);
leak(100);
print "hello\n";Doesn't report a leak in CLI mode but it does in CGI. It
seems that stderr
and stdout file descriptors are getting screwed up in CLI. I remember
someone messing around with this.
Any ideas?Thanks,
Andi