LINUX.IE, website of the Irish Linux Users' Group
Tux rules!

   
Home
New Users
Articles
Download
Projects
Community
Vendors

  Print Version
Email to...
 
Archives:


planetILUG

Recent News

News Archive


Join the
ILUG
on FaceBook


Join the
ILUG
on LinkedIn


Join the
ILUG SETI
Group



















 
 :: Mailing Lists

[ILUG] Asynchronous thread ipc

[ILUG] Asynchronous thread ipc

Bryan O'Donoghue bryano at europlex.ie
Tue May 25 18:10:06 IST 2004


> I'm not sure I understand: is the problem that thread 1 might update twice
> and at least one of threads 2 to n might miss a transition?

The problem is that thread 2: can send data before or after thread 1 has 
executed. A race condition I guess you'd call it.

The pthread_cond_wait/broadcast logic assumes thread 1 to be in a wait state 
for thread 2, to signal it and wake it up.

This is no good if thread 2 is finished it's execution before thread 1 has put 
itself into a wait state.

So either thread 2, polls a shared variable to await thread 1, being in a sleep 
state (naff and ineffecient) or thread 1, I guess does a similar sort of 
polling on a shared file descriptor which I'm hoping will allow me not to have 
to block in the signalling thread.

The real problem is that I'm trying to replace a Windows IOCompletion blob of 
logic with a pthread solution (GNU points++;), but, the Windows IOCompletion 
ports are asynchronous, whereas the pthread_condition/broadcast sets of logic 
aren't.

Basically I'm going to introduce latency into the application by polling a 
shared state variable/descriptor. I'd like to avoid that if at all possible.

Bod

-- 
Bryan O'Donoghue
Embedded Software Engineer

Europlex Technologies Ltd
Clonshaugh Business & Technology Park
Dublin 17
Ireland

T:+353 (0) 1 2500500
F:+353 (0) 1 2500590
E:bryano at euoplex.ie
W:www.europlex.ie




More information about the ILUG mailing list
Read this without the formatting.
                                                                                                    

 

Hosted by HEAnet


Maintained by the ILUG website team. The aim of Linux.ie is to support and help commercial and private users of Linux in Ireland. You can display ILUG news in your own webpages, read backend information to find out how. Networking services kindly provided by HEAnet, server kindly donated by Dell. Linux is a trademark of Linus Torvalds, used with permission. No penguins were harmed in the production or maintenance of this highly praised website. Looking for the Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!
RSS Version
Powered by Dell