DescriptionFix ibus-daemon deadlock in engineproxy.c.
How to reproduce the deadlock on a desktop Linux like Ubuntu Maverick:
1. Add 20 seconds sleep in the beginning of the main() function of an engine (e.g. ibus-engine-mozc). See http://crosbug.com/11379#c16 .
2. Set preload_engines to "mozc" using ibus-setup.
3. Start ibus-daemon.
4. press the trigger hotkey twice within the 20 seconds.
Expected:
The second trigger hotkey press cancels the bus_engine_proxy_new operation started by the first one.
Actual:
ibus-daemon freezes. Stack trace: http://crosbug.com/11379#c20
BUG=http://crosbug.com/11379
TEST=see the steps above.
Patch Set 1 : review #
Total comments: 9
Patch Set 2 : review #Patch Set 3 : Applied Peng's version #
MessagesTotal messages: 6
|