<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">Assuming that there is no other way to accomplish this, how could it work to allow multiple child widgets to "own" the SolarMutex simultaneously? We just need one of those threads to trigger an update to something like a cache, and one of the other threads is likely to crash because of a stale pointer.<br></div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">Unless you are talking about passing some kind of permission down to the child threads, which says "this thread is allowed to also take the SolarMutex, even though it is already locked", which means we'd need another counter, and then how would that interact with SolarMutexReleaser.</div></div><div class="gmail_quote"><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">Possibly another way here is to make the parts of the child threads that currently need the SolarMutex, to get their own mutex, preferably a reader/writer mutex, so that multiple of them can run in parallel.</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif"></div></div></div>