Changeset 6194
- Timestamp:
- Apr 7, 2007, 8:58:42 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/ccl/level-1/l1-processes.lisp (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/level-1/l1-processes.lisp
r5977 r6194 136 136 :initarg :allocation-quantum 137 137 :reader process-allocation-quantum 138 :type (satisfies valid-allocation-quantum-p))) 139 138 :type (satisfies valid-allocation-quantum-p)) 139 (dribble-stream :initform nil) 140 (dribble-saved-terminal-io :initform nil)) 140 141 (:primary-p t)) 141 142 … … 185 186 186 187 187 (def global*initial-process*188 (defstatic *initial-process* 188 189 (let* ((p (make-process 189 190 "Initial" … … 197 198 "Bound in each process, to that process itself.") 198 199 199 (def global*interactive-abort-process* *initial-process*)200 (defstatic *interactive-abort-process* *initial-process*) 200 201 201 202 … … 383 384 (if defenv 384 385 (eq :global (%cdr (assq s (defenv.specials defenv))))))) 385 (error "~s not defined with ~s" s 'def global))386 (error "~s not defined with ~s" s 'defstatic)) 386 387 s)) 387 388 … … 633 634 (when (eq p *current-process*) 634 635 (quit))) 636 637 (defmethod process-stop-dribbling ((p process)) 638 (with-slots (dribble-stream dribble-saved-terminal-io) p 639 (when dribble-stream 640 (close dribble-stream) 641 (setq dribble-stream nil)) 642 (when dribble-saved-terminal-io 643 (setq *terminal-io* dribble-saved-terminal-io 644 dribble-saved-terminal-io nil)))) 645 646 (defmethod process-dribble ((p process) path) 647 (with-slots (dribble-stream dribble-saved-terminal-io) p 648 (process-stop-dribbling p) 649 (when path 650 (let* ((in (two-way-stream-input-stream *terminal-io*)) 651 (out (two-way-stream-output-stream *terminal-io*)) 652 (f (open path :direction :output :if-exists :append 653 :if-does-not-exist :create))) 654 (without-interrupts 655 (setq dribble-stream f 656 dribble-saved-terminal-io *terminal-io* 657 *terminal-io* (make-echoing-two-way-stream 658 (make-echo-stream in f) 659 (make-broadcast-stream out f))))) 660 path)))
Note:
See TracChangeset
for help on using the changeset viewer.
