- Interrupt handlers really installed and documented.
- File locking fixed to use proc objects instead of pids, and bugs in code and documentation fixed.
This commit is contained in:
		
							parent
							
								
									52cd685e9a
								
							
						
					
					
						commit
						7e66a68afa
					
				
							
								
								
									
										9
									
								
								NEWS
								
								
								
								
							
							
						
						
									
										9
									
								
								NEWS
								
								
								
								
							|  | @ -2,6 +2,15 @@ | |||
| 
 | ||||
| Recent changes to the Scheme Shell. | ||||
| 
 | ||||
| ??/??/?? (version 0.4.5 presumably) | ||||
| 	 lock-region record now stores the *proc object* of the locking | ||||
|            process, not the integer pid. A bug in unlock-region was fixed, | ||||
| 	   and the documentation was fixed up. | ||||
| 	 Did we say we had signal handlers installed in the last release? | ||||
| 	   Now we do. Really. Installed & documented. | ||||
| 	 Hopefully, bdc will change this line to say the static heap | ||||
| 	   linker is documented. | ||||
| 
 | ||||
| 11/03/96  (version 0.4.4) | ||||
| 	  minor fixes for SunOS, Solaris, AIX, NeXTStep, 686 systems  | ||||
| 	  minor static heap linker fixes | ||||
|  |  | |||
							
								
								
									
										9
									
								
								RELEASE
								
								
								
								
							
							
						
						
									
										9
									
								
								RELEASE
								
								
								
								
							|  | @ -137,14 +137,14 @@ We even have one of those URL things: | |||
| ===================== | ||||
| 
 | ||||
| ** Signal handlers | ||||
|   We finally have signal handlers; with this Scsh now has all of Posix. | ||||
|   We finally have signal handlers. Go wild. | ||||
| 
 | ||||
| ** Static heap linker | ||||
|   The static heap linker converts a Scheme 48 bytecode image as | ||||
|   embodied in a .image file to a C representation. This C | ||||
|   code is then compiled and linked in with a virtual machine. One | ||||
|   pleasant side effect of this is reduced startup times. Another | ||||
|   good thing is that immutable parts of the image can be shared | ||||
|   pleasant side effect of this is reduced startup times and heap sizes.  | ||||
|   Another good thing is that immutable parts of the image can be shared | ||||
|   between processes. see the script scsh/static.scm | ||||
| 
 | ||||
| ** Last few bits of Posix | ||||
|  | @ -166,7 +166,8 @@ We even have one of those URL things: | |||
|    switch and with the (DUMP-SCSH-PROGRAM <file-name> <entry-point>) | ||||
|    are now equivalent in that both pass a list of command-line arguments | ||||
|    that includes the program name. The two start-up methods were not | ||||
|    the same in the previous release. | ||||
|    the same in the previous release. NOTE: THIS IS A BACKWARDS-INCOMPATIBLE | ||||
|    CHANGE IN DUMP-SCSH-PROGRAM FROM THE PREVIOUS RELEASE. | ||||
| 
 | ||||
| ** Etc. | ||||
|   Solaris 2 on i386 support, AIX 4 support, HP-UX now uses dld for | ||||
|  |  | |||
|  | @ -1,11 +1,13 @@ | |||
| Scsh cheat sheet | ||||
| Olin Shivers | ||||
| November 1994 | ||||
| November 1996 | ||||
| 
 | ||||
| This cheat sheet is intentionally kept brief and minimalist. | ||||
| It is intended to function as an ASCII-format reminder for the | ||||
| full manual, not as the definition. It can be read using GNU Emacs's | ||||
| outline mode. | ||||
| 
 | ||||
| It is also not entirely up-to-date. I'd appreciate getting updates from users. | ||||
| ------------------------------------------------------------------------------- | ||||
| 
 | ||||
| * High-level forms | ||||
|  | @ -174,6 +176,27 @@ Open flags: | |||
| (write-string/partial string [fd/port start end]) -> nwritten | ||||
| (force-output [fd/port]) | ||||
| 
 | ||||
| ** File locking | ||||
| (define-record lock-region | ||||
|   exclusive?	; write or read lock? | ||||
|   start		; integer: start, end & whence | ||||
|   end           ; integer: define the region being locked. | ||||
|   whence	; The value of SEEK/SET, SEEK/DELTA, or SEEK/END. | ||||
|   proc)		; A proc object for the process locking the region. | ||||
| 
 | ||||
| (make-lock-region exclusive? start len [whence]) -> lock-region | ||||
|     WHENCE defaults to the value of SEEK/SET. | ||||
| 
 | ||||
| (lock-region fdes lock) | ||||
| (lock-region/no-block fdes lock) | ||||
| 
 | ||||
| (get-lock-region fdes lock) -> lock-region or #f | ||||
| 
 | ||||
| (unlock-region fdes lock) | ||||
| 
 | ||||
| (with-region-lock* fdes lock thunk) | ||||
| (with-region-lock fdes lock body ...)	Syntax | ||||
| 
 | ||||
| ** File system | ||||
| (create-directory fname [perms override?]) | ||||
| (create-fifo fname [perms override?]) | ||||
|  | @ -364,6 +387,67 @@ command-line-arguments | |||
| (pause-until-interrupt) | ||||
| (sleep secs) | ||||
| 
 | ||||
| Non-signal S48 interrupts | ||||
| ------------------------- | ||||
| interrupt/memory-shortage | ||||
| 
 | ||||
| Posix signals with S48 interrupts | ||||
| ------------------------------ | ||||
| signal/alrm	interrupt/alrm  (aka interrupt/alarm) | ||||
| signal/int  	interrupt/int   (aka interrupt/int) | ||||
| signal/chld	interrupt/chld   | ||||
| signal/cont	interrupt/cont   | ||||
| signal/hup	interrupt/hup    | ||||
| signal/quit	interrupt/quit   | ||||
| signal/term	interrupt/term   | ||||
| signal/tstp	interrupt/tstp   | ||||
| signal/usr1	interrupt/usr1   | ||||
| signal/usr2	interrupt/usr2   | ||||
| 
 | ||||
| signal/info	interrupt/info		Non-Posix | ||||
| signal/io	interrupt/io		Non-Posix | ||||
| signal/poll	interrupt/poll		Non-Posix | ||||
| signal/prof	interrupt/prof		Non-Posix | ||||
| signal/pwr	interrupt/pwr		Non-Posix | ||||
| signal/urg	interrupt/urg		Non-Posix | ||||
| signal/vtalrm	interrupt/vtalrm	Non-Posix | ||||
| signal/winch	interrupt/winch		Non-Posix | ||||
| signal/xcpu	interrupt/xcpu		Non-Posix | ||||
| signal/xfsz	interrupt/xfsz		Non-Posix | ||||
| 
 | ||||
| Synchronous and uncatchable signals | ||||
| ----------------------------------- | ||||
| signal/stop	Uncatchable Posix | ||||
| signal/kill	Uncatchable Posix | ||||
| 
 | ||||
| signal/abrt	Synchronous Posix | ||||
| signal/fpe	Synchronous Posix | ||||
| signal/ill	Synchronous Posix | ||||
| signal/pipe	Synchronous Posix | ||||
| signal/segv	Synchronous Posix | ||||
| signal/ttin	Synchronous Posix | ||||
| signal/ttou	Synchronous Posix | ||||
| 		 | ||||
| signal/bus	Synchronous BSD + SVR4 | ||||
| signal/emt	Synchronous BSD + SVR4 | ||||
| signal/iot	Synchronous BSD + SVR4 | ||||
| signal/sys	Synchronous BSD + SVR4 | ||||
| signal/trap	Synchronous BSD + SVR4 | ||||
| 
 | ||||
| ** Interrupt handlers | ||||
| (signal->interrupt sig) -> interrupt | ||||
| (interrupt-set integer1 ...) -> integer | ||||
| 
 | ||||
| (enabled-interrupts) -> integer | ||||
| (set-enabled-interrupts! integer) -> integer | ||||
| 
 | ||||
| (with-enabled-interrupts interrupt-set body ...)	Syntax | ||||
| (with-enabled-interrupts* interrupt-set thunk) | ||||
| 
 | ||||
| (set-interrupt-handler! interrupt handler) -> old-handler | ||||
| (interrupt-handler interrupt) -> handler | ||||
|     HANDLER is #f (ignored), #t (default), or (lambda (enabled-ints) ...) proc. | ||||
| 
 | ||||
| ** Time | ||||
| 
 | ||||
| (define-record date | ||||
|  |  | |||
|  | @ -162,7 +162,8 @@ | |||
| 			      lock-region:whence | ||||
| 			      lock-region:start | ||||
| 			      lock-region:len | ||||
| 			      lock-region:pid | ||||
| 			      lock-region:pid	; Deprecated proc. | ||||
| 			      lock-region:proc | ||||
| 			      make-lock-region | ||||
| 
 | ||||
| 			      lock-region | ||||
|  | @ -986,10 +987,36 @@ | |||
| (define-interface signal-handler-interface | ||||
|   (export signal->interrupt | ||||
| 	  interrupt-set | ||||
| 
 | ||||
| 	  (with-enabled-interrupts :syntax) | ||||
| 	  with-enabled-interrupts* | ||||
| 	  set-signal-handler! | ||||
| 	  signal-handler | ||||
| 	  enabled-interrupts | ||||
| 	  set-enabled-interrupts! | ||||
| 
 | ||||
| 	  set-interrupt-handler! | ||||
| 	  interrupt-handler | ||||
| 
 | ||||
| 	  %set-unix-signal-handler! | ||||
| 	  %unix-signal-handler | ||||
| 	  )) | ||||
| 
 | ||||
| 	  interrupt/alrm interrupt/alarm | ||||
| 	  interrupt/int  interrupt/keyboard | ||||
| 	  interrupt/memory-shortage | ||||
| 	  interrupt/chld | ||||
| 	  interrupt/cont | ||||
| 	  interrupt/hup	 | ||||
| 	  interrupt/quit	 | ||||
| 	  interrupt/term	 | ||||
| 	  interrupt/tstp	 | ||||
| 	  interrupt/usr1	 | ||||
| 	  interrupt/usr2	 | ||||
| 	  interrupt/info | ||||
| 	  interrupt/io	 | ||||
| 	  interrupt/poll	 | ||||
| 	  interrupt/prof	 | ||||
| 	  interrupt/pwr	 | ||||
| 	  interrupt/urg	 | ||||
| 	  interrupt/vtalrm | ||||
| 	  interrupt/winch | ||||
| 	  interrupt/xcpu	 | ||||
| 	  interrupt/xfsz)) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 shivers
						shivers