[X2Go-Commits] [x2goclient] 01/01: src/onmainwindow.cpp: add -silent-dup-error parameter to VcXsrv startup options, forcing it to silently fail without showing a dialog and thus keeping the process running.

git-admin at x2go.org git-admin at x2go.org
Mon May 14 06:32:52 CEST 2018


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch master
in repository x2goclient.

commit f49f566fa8715c0cfcaa52b614bc289e3e5036f0
Author: Mihai Moldovan <ionic at ionic.de>
Date:   Mon May 14 06:32:15 2018 +0200

    src/onmainwindow.cpp: add -silent-dup-error parameter to VcXsrv startup options, forcing it to silently fail without showing a dialog and thus keeping the process running.
---
 debian/changelog     |  3 +++
 src/onmainwindow.cpp | 27 +++++++++++++++++++++++++++
 2 files changed, 30 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 1ac9d0b..0ed742d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -69,6 +69,9 @@ x2goclient (4.1.2.0-0x2go1) UNRELEASED; urgency=medium
     - src/onmainwindow.cpp: another compile error/typo fix.
     - src/onmainwindow.cpp: let client recognize new --xserver-start-limit
       param correctly.
+    - src/onmainwindow.cpp: add -silent-dup-error parameter to VcXsrv startup
+      options, forcing it to silently fail without showing a dialog and thus
+      keeping the process running.
   * x2goclient.spec:
     - Remove plugin references.
   * debian/rules:
diff --git a/src/onmainwindow.cpp b/src/onmainwindow.cpp
index 63f16ad..6be2ed2 100644
--- a/src/onmainwindow.cpp
+++ b/src/onmainwindow.cpp
@@ -10046,6 +10046,33 @@ void ONMainWindow::startXOrg (std::size_t start_offset)
              * if using the internal X server and the internal copy is VcXsrv-based.
              */
             args << "-nopn";
+
+            /*
+             * -silent-dup-error makes VcXsrv and Cygwin/X error out silently if either:
+             *   - the global(!) MUTEX for the X display number is already taken by another
+             *     process
+             *   - binding to the socket (mostly TCP, though maybe increasingly UNIX since
+             *     newer Windows version [10 with the April 2018 update] started supporting
+             *     this natively) failed.
+             *
+             * The latter also triggers if some other process is listening on the selected
+             * end point, which also covers other applications.
+             *
+             * The key part here is "silently": without this option, the process keeps
+             * running - showing a dialog to the user. For X2Go Client, it looks as though
+             * the server was started successfully and if connecting to the socket end
+             * point also worked out, we get a false-positive in X.Org Server startup
+             * detection.
+             *
+             * With this option, no dialog pops up and the X.Org Server terminates
+             * immediately.
+             *
+             * FIXME: we currently only use this option when the internal X.Org Server
+             * option is used (the default) and the variant is VcXsrv. Given that Cygwin/X
+             * also supports the option, it would be nice to use it for external X.Org
+             * Server settings as well - but we don't know their type.
+             */
+            args << "-silent-dup-error";
         }
 
         args<<dispString;

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/x2goclient.git


More information about the x2go-commits mailing list