Branch: refs/heads/master
Home:   https://github.com/ibus/ibus

Commit: 377c06515e792c2da4f4cf342ba5faa26eac5170
    https://github.com/ibus/ibus/commit/377c06515e792c2da4f4cf342ba5faa26eac5170
Author: phuang <[email protected]>
Date:   2011-02-09 (Wed, 09 Feb 2011)

Changed paths:
  M bus/engineproxy.c
  M bus/inputcontext.c

Log Message:
-----------
Fix 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.

Review URL: http://codereview.appspot.com/4125053
Patch from phuang <[email protected]>.


-- 
You received this message because you are subscribed to the Google
Groups "ibus-devel" group.
iBus project web page: http://code.google.com/p/ibus/
iBus dev group: http://groups.google.com/group/ibus-devel?hl=en

回复