Hi Nick, The point is that linux has a different thread system then other platforms. Under standard UNIX (hpux, sgi, etc.), you have the possibility to create a thread. When creating one or more threads, you will have: 1 process with one or more threads sharing the same environment (such as uid, etc.). In this case, when changing a env. var. this will be available in both threads. But, when creating a thread in linux you will have: for each thread one process (you can see this with ps -ef|grep python). In this case, when changing a env.var. this will give a problem, because the other thread still have the old uid. Zope is starting as root. Zope initializes its products (create a thread) as root, and then changes to user "nobody" (or to user <....>given by -u .... (in the startup). So, the thread does have another uid, and this is giving the problem! I just change my: rczope: su wwwrun -c "$zope_start 2>/dev/null" because in my start script, I call: exec /usr/local/zope/bin/python $PYTHONHOME/z2.py -u wwwrun -a 127.0.0.1 "$@" You might need to chown the files in your zope directory. I did try to run the Xron product and everything is working correctly now. Enjoy it !. Els Nicholas Lo wrote:
Hi Els,
Sorry for I couldnt give you the code in time. BTW, what are your tricks in making Xron working under Linux??? If Xron works under Linux, I can throw away my old code and follow the Xron way.
-- Nick
----- Original Message ----- From: "Homan Els" <homan@embl-grenoble.fr> To: "Nicholas Lo" <nicklo@siliconcreation.com> Sent: Monday, May 28, 2001 6:47 PM Subject: [Fwd: [Zope-dev] Xron on linux: Dispatcher thread stops after a while]
Hi Nicholas,
It is working ! (I will now try to test to correctness of the product).
See email from Xron on linux.
Regards,
Els