Change in vdsm[master]: jsonrpc: make sure not to block when processing i/o

piotr.kliczewski at gmail.com piotr.kliczewski at gmail.com
Fri Apr 8 14:10:33 UTC 2016


Piotr Kliczewski has uploaded a new change for review.

Change subject: jsonrpc: make sure not to block when processing i/o
......................................................................

jsonrpc: make sure not to block when processing i/o


Change-Id: I8dee39c7ec518721e809de1cb542173161612ffb
Signed-off-by: pkliczewski <piotr.kliczewski at gmail.com>
Bug-Url: https://bugzilla.redhat.com/1321325
Bug-Url: https://bugzilla.redhat.com/1324155
Bug-Url: https://bugzilla.redhat.com/1323465
---
M lib/vdsm/protocoldetector.py
M lib/vdsm/utils.py
M lib/yajsonrpc/stompreactor.py
3 files changed, 3 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/72/55872/1

diff --git a/lib/vdsm/protocoldetector.py b/lib/vdsm/protocoldetector.py
index 811629e..583b8ba 100644
--- a/lib/vdsm/protocoldetector.py
+++ b/lib/vdsm/protocoldetector.py
@@ -38,6 +38,7 @@
     filecontrol.set_close_on_exec(server_socket.fileno())
     server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
     server_socket.bind(sockaddr)
+    server_socket.setblocking(0)
 
     return server_socket
 
@@ -121,7 +122,6 @@
                     port
                 )
                 dispatcher.del_channel()
-                sock.setblocking(1)
                 detector.handle_socket(sock, (host, port))
                 break
         else:
diff --git a/lib/vdsm/utils.py b/lib/vdsm/utils.py
index 2370fcd..62469d4 100644
--- a/lib/vdsm/utils.py
+++ b/lib/vdsm/utils.py
@@ -850,7 +850,7 @@
 def create_connected_socket(host, port, sslctx=None, timeout=None):
     addrinfo = socket.getaddrinfo(host, port,
                                   socket.AF_UNSPEC, socket.SOCK_STREAM)
-    family, socktype, proto, _, sockaddr = addrinfo[0]
+    family, socktype, proto, _, _ = addrinfo[0]
     sock = socket.socket(family, socktype, proto)
 
     if sslctx:
@@ -858,6 +858,7 @@
 
     sock.settimeout(timeout)
     sock.connect((host, port))
+    sock.setblocking(0)
     return sock
 
 
diff --git a/lib/yajsonrpc/stompreactor.py b/lib/yajsonrpc/stompreactor.py
index ff25b08..26d7bce 100644
--- a/lib/yajsonrpc/stompreactor.py
+++ b/lib/yajsonrpc/stompreactor.py
@@ -278,9 +278,6 @@
         self._async_client.queue_frame(msg)
         self._reactor.wakeup()
 
-    def setTimeout(self, timeout):
-        self._dispatcher.socket.settimeout(timeout)
-
     def connect(self):
         pass
 
@@ -372,9 +369,6 @@
             reactor
         )
         self._aclient.handle_connect()
-
-    def setTimeout(self, timeout):
-        self._stompConn.setTimeout(timeout)
 
     def connect(self):
         self._stompConn.connect()


-- 
To view, visit https://gerrit.ovirt.org/55872
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8dee39c7ec518721e809de1cb542173161612ffb
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Piotr Kliczewski <piotr.kliczewski at gmail.com>


More information about the vdsm-patches mailing list