# HG changeset patch
# User Andrey Skvortsov <andrej.skvortzov@gmail.com>
# Date 1475680312 -10800
# Node ID 8e5c03798abcfe961397db7338e59b2dc746bdc9
# Parent  ee1715e94136b63ff7e0e99b3ba92ee70b00e1ee
fix syncronization issue during killing ProcessLoggers on IDE close

diff -r ee1715e94136 -r 8e5c03798abc util/ProcessLogger.py
--- a/util/ProcessLogger.py	Wed Oct 05 18:01:28 2016 +0300
+++ b/util/ProcessLogger.py	Wed Oct 05 18:11:52 2016 +0300
@@ -170,6 +170,7 @@
         self.logger.write_warning(_("exited with status %s (pid %s)\n")%(str(ecode),str(pid)))
 
     def finish(self, pid,ecode):
+        # avoid running function before start is finished        
         self.startsem.acquire()
         if self.timeout:
             self.timeout.cancel()
@@ -182,7 +183,10 @@
         self.finishsem.release()
 
     def kill(self,gently=True):
-        self.startsem.acquire()        
+        # avoid running kill before start is finished
+        self.startsem.acquire()
+        self.startsem.release()
+        
         self.outt.killed = True
         self.errt.killed = True
         if wx.Platform == '__WXMSW__':