Re: [AD] X11 unresponsiveness

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


On Tue, 2004-07-13 at 17:25 -0700, Chris wrote:
> Elias Pschernig wrote:
> > I call the handler already when the lock
> > count is still 1, so if another signal happens at that time, it does the
> > right thing. With that, I think, it is safe to commit.
> 
> Oh, ok. I see. Yeah, that should be safe. However, I still don't like 
> globalizing an _xwin_private* function, and it just screams /* HACK: */. 
> I think the best thing to do is to leave the input handler alone (sans 
> the multi-threaded patch), and just have the *_needs_poll functions 
> return true for the signal version of the library. Allegro has enough 
> hacks as it is, and I don't think we need to add more when we already 
> have the means to fix it simply by changing a return value.
> 

Hm, it just is an internal symbol, which is needed in different source
files. Doesn't seem like a hack at all. What we do is, we keep sure the
x11 input handler is called often enough. The reason is, in X11, input
gets lost due to the need of XLOCK() XUNLOCK(). Definitely better than
the previous way of just dropping input.

I agree, we should additionally encourage polling for the signals
version. But the patch is less hackis in my opinion than the current
CVS, which just puts that if line in the input handler and drops input
if the X11 lock is active.

-- 
Elias Pschernig





Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/