Logged In: YES
user_id=902722
I'm using Python 2.2.1 (Unix) in a daemon process that starts
child threads to handle specific events. I have noticed that
occasionally (not all the time) child thread "stays" (in a
SLEEPING) status after thread exits. When this happens, that
thread never exits until entire process is stopped.
I have log files that have output coming from threading
module (I have set threading._VERBOSE to 1) that show each
thread's start and termination events. In addition, I use
Queue module for inter-thread communication (when thread
starts execution, it posts "START" message, and when it is
about to exit its run() method, it posts "END" event).
So, from these logs and from output of "ps -fp <PID> -
o 'user,pid,ppid,pgid,time,stime,lwp,s'" I can see that some
threads exit (which is indicated by _VERBOSE output and a
message in a Queue), but still stay (in a SLEEPING state) in
the process.
Does this behavior have something to do with the problem
described in this report, or is it something different?
Is there patch (full instalation package) that fixes this
problem (without me having to update source code and
recompile the executable)?
|