CPAN::Forum
threads - is_running is returning true when thread is killed externally.
| Posted on Wed May 30 17:08:35 2007 by jc2001 |
| is_running is returning true when thread is killed externally. |
|
I am starting a series of detached threads and I save the thread object in a hash as follows:
my $thr = threads->new(...);
if ($thr) {
my $nThreadTid = $thr->tid();
$aActiveThreads{$nThreadTid} = $thr;
}
Periodically I check if specific threads are still running as follows:
my $thr = $aActiveThreads{$nThreadTid};
if($thr and $thr->is_running ) {
#thread is running
...
}
This works well and detects exits from the perl process OK, however I have found that if I kill the thread externally (I used process explorer) the $thr->is_running still returns true even though the thread has definitely been killed and is no longer outputting log messages etc. I am using threads version 1.59 on Windows with perl 5.8.8 built by a colleague of mine. Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=MSWin32, osvers=5.1, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Im not sure whether this is a bug or usage issue. Any suggestions would be most welcome. JC |
| Direct Responses: 5274 | Write a response |
(0)
]