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 » Deadlock - what LeaveGMutexAll does?
Re: Deadlock - what LeaveGMutexAll does? [message #35067 is a reply to message #35037] Sat, 07 January 2012 13:21 Go to previous messageGo to previous message
pete82 is currently offline  pete82
Messages: 3
Registered: November 2011
Junior Member
I solved it by queing all "Refresh" and all the other GUI calls to the main thread (which is quite uncomfortable).

Thank you for explanation, but do i understand correctly (also looking at the code), that the main thread is unlocking lock which it doesn't own? This looks really bad to me. The classic method to avoid deadlocks is to acquire them in some fixed order, but it fails then.
Basically, can this happen? (GM-GMutex,OM-other mutex,T-thread,MT-main thread)
T: GM->OM->GM unlocked, preempted
MT:waiting on GM->GM->waiting on OM
T: ->waiting on GM
 
Read Message
Read Message
Read Message
Read Message
Previous Topic: Htmls / HtamlTag class and table generation
Next Topic: What is the status of IPv6 support?
Goto Forum:
  


Current Time: Sat May 18 02:25:51 CEST 2024

Total time taken to generate the page: 0.02501 seconds