To: tews at tcs.inf.tu-dresden.de Cc: caml-list at inria.fr, lablgtk at kaba.or.jp Subject: Re: [Caml-list] lablgtk question: catching server shutdown In-Reply-To: <15455.46586.298770.173632 at gargle.gargle.HOWL> References: <15455.46586.298770.173632 at gargle.gargle.HOWL> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <20020207174528T.garrigue at kurims.kyoto-u.ac.jp> Date: Thu, 07 Feb 2002 17:45:28 +0900 From: Jacques Garrigue Lines: 24 From: Hendrik Tews > I have a lablgtk question: > > Is there a canonical way to register a function that will be > called when the connection to the X server is lost? > > I looked at the gtk sources (version 1.2.9) and there they > register the function gdk_x_io_error with XSetIOErrorHandler. And > gdk_x_io_error prints > > Gdk-ERROR **: X connection to :0.0 broken (explicit kill or server shutdown). > > and calls exit. So it looks like there is no way to register a > callback for this event. Am I right? You can try to add a bit of C code to your application, and call XSetIOErrorHandler after GDK is initialized, to override this default. However, they probably have good reasons to call exit systematically, and you would be left with lots of dangling data. For instance, the GC may trigger the deallocation of X resources; this will not be clean if the connection to X is lost. Jacques Garrigue