Changeset 11450 for trunk/source/level-1
- Timestamp:
- Dec 2, 2008, 6:11:23 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/level-1/l1-events.lisp
r10141 r11450 118 118 (clear-input *terminal-io*)))))) 119 119 120 121 120 (defglobal *quit-interrupt-hook* nil) 121 122 (defun force-async-quit () 123 (when *quit-interrupt-hook* 124 (funcall *quit-interrupt-hook*)) 125 (quit 143)) 122 126 123 127 (defstatic *running-periodic-tasks* nil) … … 143 147 (when (functionp f) (funcall f))))))) 144 148 149 (defconstant $user-interrupt-break 1) 150 (defconstant $user-interrupt-quit 2) 151 145 152 (defun housekeeping () 146 153 (progn 147 154 (handle-gc-hooks) 148 155 (unless *inhibit-abort* 149 (when (break-event-pending-p) 150 (let* ((proc (select-interactive-abort-process))) 151 (if proc 152 (force-break-in-listener proc))))) 156 (let ((id (pending-user-interrupt))) 157 (cond ((eql id $user-interrupt-quit) 158 ;; Doesn't matter where it happens, but try to use a process that 159 ;; has a shot at reporting any problems in user hook. 160 (let* ((proc (or (select-interactive-abort-process) 161 *initial-process*))) 162 (process-interrupt proc #'force-async-quit))) 163 ((eql id $user-interrupt-break) 164 (let* ((proc (select-interactive-abort-process))) 165 (if proc 166 (force-break-in-listener proc))))))) 153 167 (flet ((maybe-run-periodic-task (task) 154 168 (let ((now (get-tick-count))
Note: See TracChangeset
for help on using the changeset viewer.