archipelago: Fix wait request in common.py
authorFilippos Giannakos <philipgian@grnet.gr>
Fri, 6 Sep 2013 09:53:59 +0000 (12:53 +0300)
committerFilippos Giannakos <philipgian@grnet.gr>
Tue, 10 Sep 2013 19:54:58 +0000 (22:54 +0300)
xseg/tools/archipelago/archipelago/common.py

index 7a0ce5a..b415010 100755 (executable)
@@ -754,14 +754,14 @@ class Xseg_ctx(object):
         self.ctx = None
 
     def wait_request(self):
+        xseg_prepare_wait(self.ctx, self.portno)
         while True:
             received = xseg_receive(self.ctx, self.portno, 0)
             if received:
+                xseg_cancel_wait(self.ctx, self.portno)
                 return received
             else:
-                xseg_prepare_wait(self.ctx, self.portno)
                 xseg_wait_signal(self.ctx, 10000000)
-                xseg_cancel_wait(self.ctx, self.portno)
 
     def wait_requests(self, requests):
         while True: