bug-commoncpp
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: pb : semaphore crashing with kernel 2..4.x


From: David Sugar
Subject: Re: pb : semaphore crashing with kernel 2..4.x
Date: Wed, 02 Feb 2005 12:33:13 -0500
User-agent: Mozilla Thunderbird 1.0 (Macintosh/20041206)

We recently changed the implimentation from using semaphores to using a construct built from a conditional, as it was far more portable and allowed for timeouts on wait. I do recall hearing that some specific versions of glibc have broken implimentations of conditionals, however. Is this a machine built with debian woody and the glibc version it uses?
Which version of Common C++ are you using?

Stephane Domas,,, wrote:
hello

I'm writing you to ask if you already seen problems with semaphore and thread termination under kernel 2.4.X.
To describe more precisely my problem :

I launch a process, which instanciate 7 semaphores, agregate in a Handler object. Then the process launches 3 threads (let's call them S, R, and C). These three threads own the Handler object, so they can post and/or wait on these semaphore. 3 first semaphore are used by the process to wake up S,R,C and the three others are used by S, R and C to signal to the process that they are stopped.
Further in the execution, the process launches a new thread (let's call 
it T) that also owns the handler object. And for an obscur reason, when 
this thread or another one do a post on the the 7th semaphore, it 
crashes. Very surprisingly, this crash does not occur on a 2.6.X kernel.
Another bug [ if I do not post on the 7th semaphore ] : if I let the 
last thread T ends himself, it calls the final method which only 
contains a message print. This works well. But ... if the thread do a 
long sleep [ just before the end of run() ], and the process tries to 
delete it (calling terminate in the destructor of T), the thread prints 
out the message and then blocks infinitely. Thus, ending itself works 
but forcing a thread to terminate does not work. Once again, this bug 
disappear when using a 2.6.8 kernel !
Have you any idea on why this behaviour ??

Thanx
S. Domas

Attachment: dyfet.vcf
Description: Vcard


reply via email to

[Prev in Thread] Current Thread [Next in Thread]