From 1b730a80de66810344c710ebe45d3a5f0af9a56c Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Tue, 6 Dec 2016 10:41:12 +0000 Subject: [PATCH] #1298: go back to non-blocking sockets to fix the proxy - at least for now git-svn-id: https://xpra.org/svn/Xpra/trunk@14499 3bb7dfac-3a0b-4e04-842a-767bc560f471 --- src/xpra/server/proxy/proxy_server.py | 5 +++-- src/xpra/server/server_core.py | 2 -- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/xpra/server/proxy/proxy_server.py b/src/xpra/server/proxy/proxy_server.py index 8878824648..0f1c841b81 100644 --- a/src/xpra/server/proxy/proxy_server.py +++ b/src/xpra/server/proxy/proxy_server.py @@ -33,7 +33,7 @@ PROXY_SOCKET_TIMEOUT = float(os.environ.get("XPRA_PROXY_SOCKET_TIMEOUT", "0.1")) -PROXY_WS_TIMEOUT = float(os.environ.get("XPRA_PROXY_WS_TIMEOUT", "0.0")) +PROXY_WS_TIMEOUT = float(os.environ.get("XPRA_PROXY_WS_TIMEOUT", "1.0")) assert PROXY_SOCKET_TIMEOUT>0, "invalid proxy socket timeout" @@ -201,10 +201,10 @@ def disconnect(reason, *extras): authlog.error(" %s", e) disconnect(AUTHENTICATION_ERROR, "cannot access sessions") return + authlog("start_proxy(%s, {..}, %s) found sessions: %s", client_proto, auth_caps, sessions) if sessions is None: disconnect(SESSION_NOT_FOUND, "no sessions found") return - authlog("start_proxy(%s, {..}, %s) found sessions: %s", client_proto, auth_caps, sessions) uid, gid, displays, env_options, session_options = sessions if os.name=="posix": if uid==0 or gid==0: @@ -230,6 +230,7 @@ def disconnect(reason, *extras): display = None proc = None sns = c.dictget("start-new-session") + authlog("start_proxy: displays=%s, start-new-session=%s", displays, bool(sns)) if len(displays)==0 or sns: if self._start_sessions: #start a new session diff --git a/src/xpra/server/server_core.py b/src/xpra/server/server_core.py index 1b3c62ff5d..73cac3b859 100644 --- a/src/xpra/server/server_core.py +++ b/src/xpra/server/server_core.py @@ -715,8 +715,6 @@ def start_websockify(self, conn, req_info, frominfo): try: sock = conn._socket sock.settimeout(self._ws_timeout) - if os.name=="posix": - sock.setblocking(True) def new_websocket_client(wsh): wslog("new_websocket_client(%s) socket=%s", wsh, sock) wsc = WebSocketConnection(sock, conn.local, conn.remote, conn.target, conn.socktype, wsh)