Patchwork [bitbake-devel,05/14] command.py: Move triggerEvent to command async class

login
register
mail settings
Submitter Dongxiao Xu
Date March 29, 2012, 12:01 p.m.
Message ID <6f2d9f8a3e548dbf9ae34b6c53a85165d0d3ec99.1333022081.git.dongxiao.xu@intel.com>
Download mbox | patch
Permalink /patch/24817/
State Accepted
Commit 3b5909ebc86a12dedfb30e5446aa81eb58921760
Headers show

Comments

Dongxiao Xu - March 29, 2012, 12:01 p.m.
The parameters in triggerEvent function is an event object, and it may
cost some time to pass this object through pipe, causing the pipe's
poll() function timeout. Change it to async mode.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
---
 lib/bb/command.py |   17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

Patch

diff --git a/lib/bb/command.py b/lib/bb/command.py
index 1799f1c..73aaca0 100644
--- a/lib/bb/command.py
+++ b/lib/bb/command.py
@@ -179,13 +179,6 @@  class CommandsSync:
         """
         return bb.utils.cpu_count()
 
-    def triggerEvent(self, command, params):
-        """
-        Trigger a certain event
-        """
-        event = params[0]
-        bb.event.fire(eval(event), command.cooker.configuration.data)
-
 class CommandsAsync:
     """
     A class of asynchronous commands
@@ -359,3 +352,13 @@  class CommandsAsync:
         command.cooker.parseConfigurationFiles(prefiles, postfiles)
         command.finishAsyncCommand()
     parseConfigurationFiles.needcache = False
+
+    def triggerEvent(self, command, params):
+        """
+        Trigger a certain event
+        """
+        event = params[0]
+        bb.event.fire(eval(event), command.cooker.configuration.data)
+        command.currentAsyncCommand = None
+    triggerEvent.needcache = False
+