Re: [PHP-DEV] Bug #10744: session_start() serializes exec

2001-05-10 Thread Oleg Makarenko

 Try this in a script:
 ?php
   exec( /bin/sleep 30 /dev/null 21 /dev/null  ) ;
   echo Done !! ;
 ?
 
 Now call it from the browser several time (Reload button). If you type a ps ax 
command you will see several sleep 30 processes. Wait all the processes to stop.
 
 Now put session_start() as the first line. Press RELOAD: it completes OK. Now press 
RELOAD again: it hangs !!! It waits for the sleep to terminate before starting the 
next !! So if you press RELOAD 10 times you need to wait 300 seconds !!
 
 Is it a normal behaviour ? How can I have a process completely in the background ?

That is by design (for file based session storage at least). 

See http://www.php.net/bugs.php?id=6287edit=1 and
http://bugs.php.net/?id=10675edit=1

All access to session variables in PHP4 is serialized. If you want to
start some daemon from inside your php script make it to close all
unused file handles at startup or close the session before exec().

oleg


-- 
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]




[PHP-DEV] Bug #10744: session_start() serializes exec

2001-05-09 Thread fperillo

From: [EMAIL PROTECTED]
Operating system: Linux Mandrake 7.2
PHP version:  4.0.4pl1
PHP Bug Type: *Session related
Bug description:  session_start() serializes exec 

Try this in a script:
?php
  exec( /bin/sleep 30 /dev/null 21 /dev/null  ) ;
  echo Done !! ;
?

Now call it from the browser several time (Reload button). If you type a ps ax command 
you will see several sleep 30 processes. Wait all the processes to stop.

Now put session_start() as the first line. Press RELOAD: it completes OK. Now press 
RELOAD again: it hangs !!! It waits for the sleep to terminate before starting the 
next !! So if you press RELOAD 10 times you need to wait 300 seconds !!

Is it a normal behaviour ? How can I have a process completely in the background ? 

Francesco
PS: I tried to put the nohup in the exec string with no success 


-- 
Edit Bug report at: http://bugs.php.net/?id=10744edit=1



-- 
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]