Block.st
changeset 12927 1caadc2e24d8
parent 12921 4beb6d2a6571
child 12928 09910443da3e
--- a/Block.st	Wed May 12 10:55:22 2010 +0200
+++ b/Block.st	Thu May 20 10:35:48 2010 +0200
@@ -605,16 +605,6 @@
     ^ nargs
 ! !
 
-!Block methodsFor:'binary storage'!
-
-storeBinaryDefinitionOn:stream manager:manager
-    byteCode isNil ifTrue:[
-        self error:'cannot store stc-compiled code of blocks (yet)'.
-    ].
-    ^ super storeBinaryDefinitionOn:stream manager:manager
-
-    "Modified: / 10-05-2010 / 12:59:55 / cg"
-! !
 
 !Block methodsFor:'compatibility-Cola & Pepsi'!
 
@@ -2024,12 +2014,13 @@
      exceptionBlock's value is returned. The receiver's code must be prepared
      for premature returning (by adding ensure blocks, as required)"
 
-    |showStopper me signal retVal|
-
+    |showStopper me signal retVal done|
+
+    done := false.
     me := Processor activeProcess.
 
     signal := Signal new notifierString:'timeout'.
-    showStopper := [ me interruptWith:[ signal raise ] ].
+    showStopper := [ done ifFalse:[ me interruptWith:[ signal raise ]] ].
 
     signal handle:[:ex |
         retVal := exceptionBlock value.
@@ -2041,7 +2032,10 @@
                 afterMilliseconds:aTimeLimit.
 
             retVal := self value.
-        ] ensure:[ Processor removeTimedBlock:showStopper ].
+            done := true.
+        ] ensure:[ 
+            Processor removeTimedBlock:showStopper 
+        ].
     ].
     ^ retVal
 
@@ -2052,7 +2046,7 @@
      ] valueWithWatchDog:[false] afterMilliseconds:2000      
     "
 
-    "Modified: / 09-09-2007 / 15:18:22 / cg"
+    "Modified: / 20-05-2010 / 10:35:33 / cg"
 ! !
 
 !Block methodsFor:'exception handling private'!
@@ -2932,11 +2926,11 @@
 !Block class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Block.st,v 1.178 2010-05-10 11:02:26 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Block.st,v 1.179 2010-05-20 08:35:48 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic/Block.st,v 1.178 2010-05-10 11:02:26 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Block.st,v 1.179 2010-05-20 08:35:48 cg Exp $'
 ! !
 
 Block initialize!