This is the mail archive of the
cygwin-xfree
mailing list for the Cygwin XFree86 project.
[PATCH 0/2] Patches to improve some edge cases in internal client connections
- From: Jon TURNEY <jon dot turney at dronecode dot org dot uk>
- To: cygwin-xfree at cygwin dot com
- Cc: Jon TURNEY <jon dot turney at dronecode dot org dot uk>
- Date: Thu, 1 Oct 2009 13:12:47 +0100
- Subject: [PATCH 0/2] Patches to improve some edge cases in internal client connections
- Reply-to: cygwin-xfree at cygwin dot com
Here's a couple of patches provoked by a problem report on IRC the last week,
where a user had some kind of firewall problem which prevented the X server
from accepting connections from it's internal clients (which use a hard-coded
DISPLAY of 127.0.0.1:0.0 at the moment), which in -multwindow mode, results
in windows with no frame or decoration (as the window styling is done by the
internal WM thread) and no explanation.
However, I'm not terribly happy with either of them, so more polish needed.
Problems:
[01/02]
libxtrans provides a TransNoListen method to set the 'don't listen' flag for a
particular transport, but there is no interface to query the state of that flag,
so I had to resort to grovelling around in the server's list of listeners
[02/02]
Calling FatalError from an internal client thread is a no-no, so these failures
are silent at the moment (in the sense that no pop-up occurs to tell the user
that we are terminating or why).
Also, I'm just noticing I should be using pthread_kill() to ensure the signal
is delivered to the thread which is running the main dispatch loop so that will
exit the select() it may be blocked in and notice that DE_TERMINATE is set.
Jon TURNEY (2):
Cygwin/X: Improve choice of display name used by internal clients
Cygwin/X: Cause the X server to terminate if clipboard or WM internal
client threads exit due to an error
hw/xwin/Makefile.am | 1 +
hw/xwin/win.h | 7 +++++
hw/xwin/winclipboardthread.c | 22 +++++++++++++---
hw/xwin/windisplay.c | 55 ++++++++++++++++++++++++++++++++++++++++++
hw/xwin/winmultiwindowwm.c | 32 +++++++++++++++++-------
hw/xwin/winprefs.c | 11 ++------
include/os.h | 2 +
os/connection.c | 17 +++++++++++++
8 files changed, 126 insertions(+), 21 deletions(-)
create mode 100644 hw/xwin/windisplay.c
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ: http://x.cygwin.com/docs/faq/