Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ Library support » U++ MT-multithreading and servers » DnD hangs in MT Refresh()ing
Re: DnD hangs in MT Refresh()ing [message #24743 is a reply to message #24741] Fri, 29 January 2010 09:32 Go to previous messageGo to previous message
kohait00 is currently offline  kohait00
Messages: 939
Registered: July 2009
Location: Germany
Experienced Contributor
got some investigation on it (on MY app, not the CoWorker, but should be similar, i checked it, it behaves like that):

the problem even occurs with only 1 worker thread
(replacing the whole CoWork co with a Thread th and Run() the DoRefresh cb there)

DoCall() in Win32Wnd.cpp:747 always returns true (because NonMain counter is up to 25), so the ProcessEvent(bool *quit) cant go on processing other stuff and do a repaint on gui or dispatch user events.

the sGLock is owned by GUI thread, GuiSleep is running and so releasing GUI mutex sGLock from time to time, so potential other threads in need of gui lock, should run right.

the NonMainLock is owned by a worker thread and is not released anymore, there comes the deadlock, but NOT with the gui mutex, for sure, maybe the semaphore.wait in ICall or Call interface.

What is the NonMainMutex actually for? i think that is more or less the problem..

any idea?

[Updated on: Fri, 29 January 2010 09:36]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: MT with speed optimization fails
Next Topic: what about WorkQueue : public CoWork
Goto Forum:
  


Current Time: Fri May 10 15:06:54 CEST 2024

Total time taken to generate the page: 0.04442 seconds