From c354a077adc6c46ba9ccf274fec3d00aa5a5f319 Mon Sep 17 00:00:00 2001 From: bdc Date: Mon, 20 Sep 1999 17:45:15 +0000 Subject: [PATCH] Last minute fixes for 0.5.2 --- RELEASE | 100 +++++++++++++++++++++++------------------- scsh/irix/signals.scm | 26 +++++------ scsh/network.scm | 14 +++++- 3 files changed, 79 insertions(+), 61 deletions(-) diff --git a/RELEASE b/RELEASE index c4aeec6..3d95255 100644 --- a/RELEASE +++ b/RELEASE @@ -77,20 +77,21 @@ a byte-code-interpreter Scheme implementation. The Scheme 48 virtual machine can be compiled on any system with a C compiler; the rest of Scheme 48 is machine-independent across 32-bit processors. Scsh's OS interface is also quite portable, providing a consistent interface across different -Unix platforms. We currently have scsh implementations for - AIX, - BSD/OS, - CXUX, - FreeBSD, - HP-UX, - IRIX, - Linux, - NetBSD, - NeXTStep, - Solaris, - SunOS, +Unix platforms. We currently have scsh implementations for: + AIX + BSD/OS + CXUX + FreeBSD + HP-UX + IRIX + Linux + NetBSD + NeXTStep + Solaris + SunOS Ultrix -[Brian- can you edit this list] + Win32 + Scsh code should run without change across these systems. Porting to new platforms is usually not difficult. @@ -210,39 +211,46 @@ Underground everywhere for bug reports, bug fixes, design review and comments that were incorporated into this release. We really appreciate their help, particularly in the task of porting scsh to new platforms. -[Brian- will you add your set of names to this list?] -Alan Bawden, -Jim Blandy, -Per Bothner, -Tom Breton, -Christopher Browne, -Ray Dillinger, -Allyn Dimock, -Scott Draves, -Lutz Euler, -Jeremy Fitzhardinge, -Noah Friedman, -Martin Gasbichler, -Andy Gaynor, -Ian Grant, -Eric Hanchrow, -Karl Hegbloom, -Ian Horswill & the Northwestern Scheme wizards -Graham Hughes, -Lars Kellogg-Stedman, -Andre Koehoerst, -Shriram Krishnamurthi, -Jakob Lichtenberg, -Eric Marsden, -Willliam Pippin, -David Rush, -Michael Schinz, -Manuel Serrano, -Mark Shirley -Bill Somerfeld, -Mike Sperber, -Harvey J. Stein, -Pawel Turnau, + Alan Bawden + Jim Blandy + Per Bothner + Tom Breton + Christopher Browne + Sean Doran + Ray Dillinger + Allyn Dimock + Scott Draves + Lutz Euler + Kevin Esler + Jeremy Fitzhardinge + Noah Friedman + Martin Gasbichler + Andy Gaynor + Ian Grant + Eric Hanchrow + Karl Hegbloom + Johann Hibschman + Ian Horswill & the Northwestern Scheme wizards + Gary Houston + Graham Hughes + Jarmo Hurri + Lars Kellogg-Stedman + Andre Koehoerst + Shriram Krishnamurthi + Jakob Lichtenberg + Eric Marsden + Peter C. Olsen + Willliam Pippin + David Rush + Michael Schinz + Manuel Serrano + Mark Shirle + Bill Somerfeld + Mike Sperber + Harvey J. Stein + Pawel Turnau + Rob Warnock + Kenneth R. Westerback We'd like to thank everyone else for their patience; this release seemed like a long time coming. diff --git a/scsh/irix/signals.scm b/scsh/irix/signals.scm index a06ddc9..a2c7949 100644 --- a/scsh/irix/signals.scm +++ b/scsh/irix/signals.scm @@ -20,28 +20,28 @@ (pipe 13) ; write on a pipe with no one to read it (alrm 14) ; alarm clock (term 15) ; software termination signal from kill - (stop 20) ; sendable stop signal not from tty - (tstp 21) ; stop signal from tty - (cont 28) ; continue a stopped process + (stop 23) ; sendable stop signal not from tty + (tstp 24) ; stop signal from tty + (cont 25) ; continue a stopped process (chld 18) ; to parent on child stop or exit (cld 18) ; compat - (ttin 29) ; to readers pgrp upon background tty read - (ttou 30) ; like TTIN for output if (tp->t_local<OSTOP) + (ttin 26) ; to readers pgrp upon background tty read + (ttou 27) ; like TTIN for output if (tp->t_local<OSTOP) ;; User defined (usr1 16) ; user defined signal 1 (usr2 17) ; user defined signal 2 (pwr 19) ; power-fail restart (poll 22) ; pollable event occurred - (io 23) ; input/output possible signal - (urg 24) ; urgent condition on io channel - (winch 25) ; window size changes - (vtalrm 26) ; virtual time alarm - (prof 27) ; profiling alarm - (xcpu 31) ; Cpu time limit exceeded - (xfsz 32) ; Filesize limit exceeded + (io 22) ; input/output possible signal + (urg 21) ; urgent condition on io channel + (winch 20) ; window size changes + (vtalrm 28) ; virtual time alarm + (prof 29) ; profiling alarm + (xcpu 30) ; Cpu time limit exceeded + (xfsz 31) ; Filesize limit exceeded ) (define signals-ignored-by-default (list signal/chld signal/cont ; These are Posix. - signal/pwr signal/poll signal/urg signal/winch)) ; These are Irix. + signal/pwr signal/urg signal/winch)) ; These are Irix. diff --git a/scsh/network.scm b/scsh/network.scm index 287dfc9..4708575 100644 --- a/scsh/network.scm +++ b/scsh/network.scm @@ -48,8 +48,18 @@ (else (error "socket-connect: unsupported protocol-family ~s" protocol-family))))) - (connect-socket sock addr) - sock)) + ;; Close the socket and free the file-descriptors + ;; if the connect fails: + (let ((connected #f)) + (dynamic-wind + (lambda () #f) + (lambda () (connect-socket sock addr) (set! connected #t)) + (lambda () + (if (not connected) + (close-socket sock)))) + (if connected + sock + #f)))) (define (bind-listen-accept-loop protocol-family proc arg) (let* ((sock (create-socket protocol-family socket-type/stream))