Re: [VirtualGL-Devel] Fconfig deadlock from _fini()
3D Without Boundaries
Brought to you by:
dcommander
|
From: DRC <dco...@us...> - 2016-08-09 04:14:05
|
A proper fix for this, resulting from today's remote debugging session, has been pushed to master. Please see https://github.com/VirtualGL/virtualgl/commit/a143bf303940b46bf8b9a993907ac352709871b8 for my analysis and a roll-up of past MainWin and/or ANSYS issues that are directly related to this or have similar causality. Let me know if there are further problems. DRC On 7/8/16 9:33 AM, Nathan Kidd wrote: > On 07/07/16 06:01 PM, DRC wrote: >> I'll need to sit down and focus on this when I have no distractions, >> because it raises a couple of red flags in my mind. Stand by. > > Some things I mulled over, not long enough or distraction-less enough: > > 1. this no longer blocks any globalMutex-checking caller from using VGL > resources during cleanup() > > 2. but XFree() is the only call, besides (newly) xcb_poll_for_event() > attempting to use this guard for resource access and they're both via > isDead() which will do the right thing (i.e. not access if dead) > > 3. which makes me think about whether we need isDead protection for all > resource access (since _fini() proves we aren't dead just because we > said exit(1). But that way seems cumbersome and non-performant, not to > mention and the way of more potential deadlocks. > > Worthy of a long think indeed. > > /me returns to other distractions |