Re: [AD] XIM patch for Allegro 4.1.x

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


> 
> Maybe it's an async error? Dunno. Are you allowed to intermingle X gfx
> calls with X input calls?
> 

No, that should produce an async error AFAIK. What I was doing was
different. The input thread gets the X11 keyboard event, and calls the
add_key or similiar function in keyboard.c. This calls the user
keyboard callback. Now in this callback, I was drawing the box of the
pressed key. Because it didn't deadlock immediately, the locks must be
nestable.. so this just did the gfx calls, then returned. The input
thread's X11 lock was held all the time.

The main thread should simply have blocked on its gfx calls - but
yeah, I think some drawing commands don't do proper locking. I think,
for testing, we should have a "disable direct update" config setting,
which disables the direct calls to X11 drawing primitives. Then we
could compare if the crash persists without that.




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