Re: [AD] X11 unresponsiveness |
[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]
Elias Pschernig wrote:
Well, the patch works perfectly here so far. I'm only concerned about possible race conditions.
As Evert said, there's no way to 100% reliably fix this.. unless we can find a way to temporarilly push the process into real-time mode or disable signals, check the semaphore lock (durring which a signal can't happen) and finally restore it. But I fear the overhead that such a technique would introduce.
And so the responsiveness problem is solved. But I still want to apply the patch first, updated version attached (thanks to SF who finally let me made it).
There's a few problems with the patch I have, though. First, it globalizes an _xwin_private_* function, which are designed to be static (hence the _private portion). Second, it removes the XLOCK from the catch-up loop (so if a signal happens when it's trying to catch up, we'll have problems). And third.. it's a hack. Granted it's probably the most elegant way to handle the problem.. but it's obvious the signal handler and locking mechanism just aren't designed to interact this way.
- Kitty Cat
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |