Catch exception __sigchld_cb in panel.py
authorPeng Huang <shawn.p.huang@gmail.com>
Tue, 2 Jun 2009 11:49:34 +0000 (19:49 +0800)
committerPeng Huang <shawn.p.huang@gmail.com>
Tue, 2 Jun 2009 11:49:34 +0000 (19:49 +0800)
ui/gtk/panel.py

index 534a394..3c5158b 100644 (file)
@@ -396,9 +396,12 @@ class Panel(ibus.PanelBase):
             print >> sys.stderr, "Unknown command %s" % command
     
     def __sigchld_cb(self, sig, sf):
-        pid, status = os.wait()
-        if self.__setup_pid == pid:
-            self.__setup_pid = 0
+        try:
+            pid, status = os.wait()
+            if self.__setup_pid == pid:
+                self.__setup_pid = 0
+        except:
+            pass
 
     def __start_setup(self):
         if self.__setup_pid != 0: