diff options
author | Alexander Volkov <a.volkov@rusbitech.ru> | 2018-02-26 19:41:18 +0300 |
---|---|---|
committer | Adam Jackson <ajax@nwnk.net> | 2018-10-03 17:46:15 +0000 |
commit | 32677ce03d793a1f2aa8871112eb3d19b3cb762f (patch) | |
tree | 7a4779edefd7b3606b2357224a7d9f3350f26db8 /os/xdmcp.c | |
parent | 1bd5d0a53c5ff4169c5a6704c1c4b276f998b938 (diff) |
os/xdmcp: Don't create a new socket in XdmcpReset()
xdmcpSocket survives during the reset, there is no
need to create a new one.
This commit restores logic that was broken by
49c0f2413d32fdfe36e45861fcb32aaeab633094 in Xorg 1.19.
Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
Diffstat (limited to 'os/xdmcp.c')
-rw-r--r-- | os/xdmcp.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/os/xdmcp.c b/os/xdmcp.c index d8c81fbf8..62adead84 100644 --- a/os/xdmcp.c +++ b/os/xdmcp.c @@ -569,10 +569,9 @@ XdmcpRegisterDisplayClass(const char *name, int length) } static void -xdmcp_start(void) +xdmcp_reset(void) { timeOutRtx = 0; - get_xdmcp_sock(); if (xdmcpSocket >= 0) SetNotifyFd(xdmcpSocket, XdmcpSocketNotify, X_NOTIFY_READ, NULL); #if defined(IPv6) && defined(AF_INET6) @@ -583,6 +582,13 @@ xdmcp_start(void) send_packet(); } +static void +xdmcp_start(void) +{ + get_xdmcp_sock(); + xdmcp_reset(); +} + /* * initialize XDMCP; create the socket, compute the display * number, set up the state machine @@ -611,7 +617,7 @@ XdmcpReset(void) { state = XDM_INIT_STATE; if (state != XDM_OFF) - xdmcp_start(); + xdmcp_reset(); } /* |