[mcclim-cvs] CVS update: mcclim/Backends/CLX/port.lisp

Clemens Fruhwirth cfruhwirth at common-lisp.net
Thu Jan 12 21:08:14 UTC 2006


Update of /project/mcclim/cvsroot/mcclim/Backends/CLX
In directory common-lisp.net:/tmp/cvs-serv12975

Modified Files:
	port.lisp 
Log Message:
Add handler-case for destroy-port to handle stream-errors thrown by xlib:close-display.
Required to destroy ports with a connection already closed/reseted by the X server (xkilled client or network drop outs)

Date: Thu Jan 12 22:08:08 2006
Author: cfruhwirth

Index: mcclim/Backends/CLX/port.lisp
diff -u mcclim/Backends/CLX/port.lisp:1.115 mcclim/Backends/CLX/port.lisp:1.116
--- mcclim/Backends/CLX/port.lisp:1.115	Wed Jan 11 09:30:56 2006
+++ mcclim/Backends/CLX/port.lisp	Thu Jan 12 22:08:06 2006
@@ -536,7 +536,10 @@
   (xlib:unmap-window (sheet-direct-mirror mirror)) )
 
 (defmethod destroy-port :before ((port clx-port))
-  (xlib:close-display (clx-port-display port)))
+  (handler-case
+      (xlib:close-display (clx-port-display port))
+    (stream-error ()
+      (xlib:close-display (clx-port-display port) :abort t))))
 
 (defmethod port-motion-hints ((port clx-port) (sheet mirrored-sheet-mixin))
   (let ((event-mask (xlib:window-event-mask (sheet-direct-mirror sheet))))




More information about the Mcclim-cvs mailing list