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" <[EMAIL PROTECTED]>
To: "Nicholas Lo" <[EMAIL PROTECTED]>
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
>
>
>