ID: 10675
Updated by: sas
Reported By: [EMAIL PROTECTED]
Status: Closed
Bug Type: *Session related
PHP Version: 4.0.5
Assigned To: 
Comments:

Your perl scripts inherits the open file descriptors and hence also the open fd for 
the session file. And hence, the lock associated with the fd is not automatically 
released, when PHP closes the fd.

You might want to close all fds upon startup of the perl script to prevent this 
scenario. 

Previous Comments:
---------------------------------------------------------------------------

[2001-05-05 14:16:42] [EMAIL PROTECTED]
Your perl scripts inherits the open file descriptors and hence also the open fd for 
the session file. And hence, the lock associated with the fd is not automatically 
released, when PHP closes the fd.

You might want to close all fds upon startup of the perl script to prevent this 
scenario. 

---------------------------------------------------------------------------

[2001-05-04 15:54:53] [EMAIL PROTECTED]
Executed a perl script in the background like this:
perl scriptname.pl $otherParams 2> /dev/null 1> /dev/null

Perl script forks and parent dies, so PHP "should" see the script as finished
immediately, perl child does work in background (takes a few minutes to run).

PHP script that spawned perl script completes OK, browser stops waiting for more data 
from
php script as it should.

However, when using the same browser window (or one from browser's file->new window) 
no
other pages that referrence the session will load in the browser.  If we force the 
session
to destroy just after the system() call, other scripts load just fine.  Also, other
scripts work just fine if we start a new browser from scratch (creates new session).

So it appears that the PHP session is getting messed up somehow b/c of the background
system/exec/`` call.  This seems to prevent the following pages from loading the 
session
properly and therefore they will not run.


One other thing, once the child perl script is finally complete everything starts 
working again, i.e.-the session is OK again.  

---------------------------------------------------------------------------

[2001-05-04 15:22:47] [EMAIL PROTECTED]
Executed a perl script in the background like this:
perl scriptname.pl $otherParams 2> /dev/null 1> /dev/null

Perl script forks and parent dies, so PHP "should" see the script as finished 
immediately, perl child does work in background (takes a few minutes to run).

PHP script that spawned perl script completes OK, browser stops waiting for more data 
from php script as it should.

However, when using the same browser window (or one from browser's file->new window) 
no other pages that referrence the session will load in the browser.  If we force the 
session to destroy just after the system() call, other scripts load just fine.  Also, 
other scripts work just fine if we start a new browser from scratch (creates new 
session).

So it appears that the PHP session is getting messed up somehow b/c of the background 
system/exec/`` call.  This seems to prevent the following pages from loading the 
session properly and therefore they will not run.

---------------------------------------------------------------------------



ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=10675&edit=2


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to