I changed the 0 to 1s in the hope that when PHP was not accessible it would wait long enough to let PHP startup.
The 50% chance is only because I didn't reload the page at exactly the right time.
I think I need to understand exactly what is happenning before contacting xcache.
From my logs I see :
2013-01-25 00:09:46.980 [NOTICE] Server Restart Request via Signal...
2013-01-25 00:09:46.981 [NOTICE] [PID: 772009]: start cgid: 807475, /usr/local/lsws/bin/lscgid
2013-01-25 00:09:46.981 [NOTICE] [Child: 772013] Start shutting down gracefully ...
2013-01-25 00:09:46.981 [NOTICE] [Child: 772014] Start shutting down gracefully ...
2013-01-25 00:09:47.230 [NOTICE] New litespeed process is ready, litespeed (772013) stops listeners
2013-01-25 00:09:47.232 [INFO] [IPADR:35426-18#APVH_domain.tld] connection to [uds://tmp/lshttpd/lsphp5.sock.772009] on request #7, confirmed, 1, associated process: -1, running: 0, error: Connection reset by peer!
2013-01-25 00:10:01.397 [NOTICE] [Child: 772013] Shut down successfully!
2013-01-25 00:10:01.408 [NOTICE] [AutoRestarter] cleanup children processes and unix sockets of process with pid=772013 !
2013-01-25 00:10:01.508 [NOTICE] [AutoRestarter] child process with pid=772013 exited with status=0!
2013-01-25 00:10:01.508 [NOTICE] [PID:772009] Server Stopped!
After that everything goes back to normal
It seems that litespped fails to load a new server but when litespeed shuts it down everything works again