[PATCH xserver] os/xdmcp: Don't create a new socket in XdmcpReset()
Alexander Volkov
a.volkov at rusbitech.ru
Tue Mar 6 17:14:59 UTC 2018
26.02.2018 19:53, Alexander Volkov пишет:
> 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 at rusbitech.ru>
> ---
> os/xdmcp.c | 12 +++++++++---
> 1 file 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();
> }
>
> /*
ping
It fixes 'Xephyr -indirect' with GDM.
More information about the xorg-devel
mailing list