From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16940 invoked by alias); 1 Oct 2009 12:12:46 -0000 Received: (qmail 16926 invoked by uid 22791); 1 Oct 2009 12:12:46 -0000 X-SWARE-Spam-Status: No, hits=-3.0 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from smtpout.karoo.kcom.com (HELO smtpout.karoo.kcom.com) (212.50.160.34) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 01 Oct 2009 12:12:41 +0000 Received: from 213-152-38-55.dsl.eclipse.net.uk (HELO localhost.localdomain) ([213.152.38.55]) by smtpout.karoo.kcom.com with ESMTP; 01 Oct 2009 13:12:38 +0100 From: Jon TURNEY To: cygwin-xfree@cygwin.com Cc: Jon TURNEY Subject: [PATCH 0/2] Patches to improve some edge cases in internal client connections Date: Thu, 01 Oct 2009 12:12:00 -0000 Message-Id: <1254399169-2412-1-git-send-email-jon.turney@dronecode.org.uk> Mailing-List: contact cygwin-xfree-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-xfree-owner@cygwin.com Reply-To: cygwin-xfree@cygwin.com Mail-Followup-To: cygwin-xfree@cygwin.com X-SW-Source: 2009-10/txt/msg00006.txt.bz2 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/