From 56156b04b951e2a85c6150a2053e9bc9ba3ee976 Mon Sep 17 00:00:00 2001 From: Gabor Melis Date: Thu, 11 Aug 2005 13:35:16 +0000 Subject: [PATCH] 0.9.3.40: * declare thread state volatile to avoid locking up when compiled with gcc4 --- NEWS | 1 + src/compiler/generic/objdef.lisp | 2 +- version.lisp-expr | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 742056c..842e832 100644 --- a/NEWS +++ b/NEWS @@ -33,6 +33,7 @@ changes in sbcl-0.9.4 relative to sbcl-0.9.3: there is only one thread in the session ** bug fix: memory leak for streams created in one thread and written to in another + ** bug fix: lockup when compiled with gcc4 changes in sbcl-0.9.3 relative to sbcl-0.9.2: * New feature: Experimental support for bivalent streams: streams diff --git a/src/compiler/generic/objdef.lisp b/src/compiler/generic/objdef.lisp index dd3105f..f924eb0 100644 --- a/src/compiler/generic/objdef.lisp +++ b/src/compiler/generic/objdef.lisp @@ -421,7 +421,7 @@ (prev :c-type "struct thread *" :length #!+alpha 2 #!-alpha 1) (next :c-type "struct thread *" :length #!+alpha 2 #!-alpha 1) ;; starting, running, suspended, dead - (state) + (state :c-type "volatile lispobj") #!+(or x86 x86-64) (pseudo-atomic-atomic) #!+(or x86 x86-64) (pseudo-atomic-interrupted) (interrupt-fun) diff --git a/version.lisp-expr b/version.lisp-expr index 96dcbfb..aa9da18 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.9.3.39" +"0.9.3.40" -- 1.7.10.4