/[cmucl]/src/clx/dependent.lisp
ViewVC logotype

Diff of /src/clx/dependent.lisp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3.1.3 by ram, Fri Sep 30 16:17:28 1994 UTC revision 1.3.1.4 by ram, Fri Oct 7 14:52:18 1994 UTC
# Line 901  Line 901 
901  ;;; against re-entering request functions.  This can happen if an interrupt  ;;; against re-entering request functions.  This can happen if an interrupt
902  ;;; occurs and the handler attempts to use X over the same display connection.  ;;; occurs and the handler attempts to use X over the same display connection.
903  ;;; This can happen if the GC hooks are used to notify the user over the same  ;;; This can happen if the GC hooks are used to notify the user over the same
904  ;;; display connection.  We lock out GC's just as a dummy check for our users.  ;;; display connection.  We inhibit GC notifications since display of them
905  ;;; Locking out interrupts has the problem that CLX always waits for replies  ;;; could cause recursive entry into CLX.
 ;;; within this dynamic scope, so if the server cannot reply for some reason,  
 ;;; we potentially dead-lock without interrupts.  
906  ;;;  ;;;
907  #+CMU  #+CMU
908  (defmacro holding-lock ((locator display &optional whostate &key timeout)  (defmacro holding-lock ((locator display &optional whostate &key timeout)
909                          &body body)                          &body body)
910    (declare (ignore locator display whostate timeout))    `(let ((ext:*gc-verbose* nil)
911    `(lisp::without-gcing (system:without-interrupts (progn ,@body))))           (ext:*gc-inhibit-hook* nil)
912             (ext:*before-gc-hooks* nil)
913             (ext:*after-gc-hooks* nil))
914         ,locator ,display ,whostate ,timeout
915         (system:without-interrupts (progn ,@body))))
916    
917  #+Genera  #+Genera
918  (defmacro holding-lock ((locator display &optional whostate &key timeout)  (defmacro holding-lock ((locator display &optional whostate &key timeout)

Legend:
Removed from v.1.3.1.3  
changed lines
  Added in v.1.3.1.4

  ViewVC Help
Powered by ViewVC 1.1.5