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
DnD hangs in MT Refresh()ing [message #24717] Thu, 28 January 2010 16:58 Go to previous message
kohait00 is currently offline  kohait00
Messages: 939
Registered: July 2009
Location: Germany
Experienced Contributor
hi people

i am currently struggeling with a GUI / MT behaviour of U++ Ctrl stuff. i attached a Test environment, a modified CoWork. it does the following.

it fires up some CoWork Threads/Jobs, which simply do a
while(dorun)
{
  Refresh(); //which internally does GuiLock somewhere, no problem, THEORETICALLY
  Sleep(1);
}


and the Paint paints something dynamic, to see if it still is running something.

there is also a TreeCtrl, filled in same way as TreCtrlDnd example,

PROBLEM/BUG: start DnD some elemen of TreeCtrl without releasing it, soon the running Threads will freeze and not perform any refresh anymore. if minimizing and maximizing again, it starts to work, having performed its work; >> but until than it hangs !!!

do i misunderstand somehow the concept of GuiLock and MT things here? it seems to me that its kind of a deadlock with maybe one of the sPteLock, StaticMutex or GlobalMutex or the like..any guess?


BACKGROUND:

i am working on a application that uses I/O Completion Ports Queue (Win32 specific) and a CoWork threads pool, which performs he completion tasks. i receive periodic, frequent data, which i directly push throough to controls, which should be ok, since they somewhere invoke Refresh() which will do a GuiLock. so tey should be ok. and it works, that far. as soon as i start to DnD things, while a control, which is beeing driven directly by the completion threads for refreshment, is open, the whole thing hangs/freezes without mercy. so i tried to make a simple test. which almost does the same, but my own application is not recoverable. if i stop the debuger it points me to some point in ntdll, which smells of Mutex or Critical Section or what.
  • Attachment: CoWork.rar
    (Size: 7.33KB, Downloaded 324 times)
 
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: Sat Apr 27 20:39:52 CEST 2024

Total time taken to generate the page: 0.02476 seconds