| Re: [AD] keyboard hang, linux, 4.1.8 | 
[ Thread Index | 
Date Index
| More lists.liballeg.org/allegro-developers Archives
] 
> Would it not be feasible to make the bg_man thread hold the mutex only a
> very short time ?
After thinking a little more about this problem, I think that my approach was 
too naive. Such a deadlock can't occur under Windows under "normal" 
circumstances, but I think the following construct is vulnerable:
	acquire_screen();
	show_mouse(NULL);
	release_screen();
So my approach that makes use of a specialized mutex for the timer 
synchronization without taking into account the other mutexes is quite 
flawed. A safe method would be to use only one big mutex per platform, but it 
would unnecessarily block the threads in many circumstances.
Therefore I'm going to #undef ALLEGRO_MULTITHREADED on all platforms for the 
time being, until I come up with a more sensible approach. I also plan to 
release the 4.1.9 WIP shortly afterwards.
-- 
Eric Botcazou