diff --git a/scsh/hpux/packages.scm b/scsh/hpux/packages.scm index 5e9140e..73f3ccd 100644 --- a/scsh/hpux/packages.scm +++ b/scsh/hpux/packages.scm @@ -5,7 +5,8 @@ (export open/sync)) (define-interface hpux-errno-extras-interface - (export errno/wouldblock)) + (export errno/wouldblock + errno/connaborted)) (define-interface hpux-signals-extras-interface (export)) diff --git a/scsh/scsh-package.scm b/scsh/scsh-package.scm index bd6c4eb..4366497 100644 --- a/scsh/scsh-package.scm +++ b/scsh/scsh-package.scm @@ -186,7 +186,7 @@ string-lib - fluids ; For exec-path-list + thread-fluids ; For exec-path-list loopholes ; For my bogus CALL-TERMINALLY implementation. scheme diff --git a/scsh/scsh.scm b/scsh/scsh.scm index 33c2c87..dea863c 100644 --- a/scsh/scsh.scm +++ b/scsh/scsh.scm @@ -900,7 +900,7 @@ (for-each (lambda (dir) (let ((binary (string-append dir "/" prog))) (%%exec binary argv env))) - (fluid exec-path-list))))) + (thread-fluid exec-path-list))))) (error "No executable found." prog arglist)))))))) @@ -1006,7 +1006,7 @@ ;;; Some globals: (define home-directory "") -(define exec-path-list (make-fluid '())) +(define exec-path-list) (define (init-scsh-vars quietly?) (set! home-directory @@ -1024,11 +1024,12 @@ (lambda () (user-info:home-dir (user-info (user-uid)))))))))) - (set-fluid! exec-path-list - (cond ((getenv "PATH") => split-colon-list) - (else (if (not quietly?) - (warn "Starting up with no path ($PATH).")) - '())))) + (set! exec-path-list + (make-preserved-thread-fluid + (cond ((getenv "PATH") => split-colon-list) + (else (if (not quietly?) + (warn "Starting up with no path ($PATH).")) + '()))))) ; SIGTSTP blows s48 away. ???