checkin from browser
authorClaus Gittinger <cg@exept.de>
Mon, 09 Nov 1998 21:28:11 +0100
changeset 3917 fd02c3beb3d1
parent 3916 cec84c84864c
child 3918 32af25a0d71e
checkin from browser
Delay.st
ProcSched.st
ProcessorScheduler.st
--- a/Delay.st	Mon Nov 09 21:19:41 1998 +0100
+++ b/Delay.st	Mon Nov 09 21:28:11 1998 +0100
@@ -269,14 +269,14 @@
 
     [
         Processor disableSemaphore:delaySemaphore.
-        delaySemaphore signal.
+        delaySemaphore signalOnce.
     ] valueUninterruptably
 
-    "Modified: 28.2.1996 / 21:40:27 / cg"
+    "Modified: / 9.11.1998 / 20:56:43 / cg"
 ! !
 
 !Delay class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Delay.st,v 1.28 1997-04-18 11:05:16 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Delay.st,v 1.29 1998-11-09 20:28:11 cg Exp $'
 ! !
--- a/ProcSched.st	Mon Nov 09 21:19:41 1998 +0100
+++ b/ProcSched.st	Mon Nov 09 21:28:11 1998 +0100
@@ -2230,26 +2230,21 @@
      Normal smalltalk code should always send an appropriate message directly
      to the semaphore (i.e. aSemaphore signal)."
 
-    |now wasBlocked|
-
-    wasBlocked := OperatingSystem blockInterrupts.
-    now := OperatingSystem getMillisecondTime.
-    self signal:aSemaphore atMilliseconds:now.
-    wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
-
-    "Created: 24.9.1996 / 10:18:45 / cg"
+    self signal:aSemaphore atMilliseconds:OperatingSystem getMillisecondTime.
+
+    "Modified: / 9.11.1998 / 20:39:06 / cg"
 !
 
 signal:aSemaphore afterMilliseconds:millis
     "arrange for a semaphore to be triggered after some milliseconds"
 
-    |now then wasBlocked|
-
-    wasBlocked := OperatingSystem blockInterrupts.
+    |now then|
+
     now := OperatingSystem getMillisecondTime.
     then := OperatingSystem millisecondTimeAdd:now and:millis rounded.
     self signal:aSemaphore atMilliseconds:then.
-    wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
+
+    "Modified: / 9.11.1998 / 20:39:27 / cg"
 !
 
 signal:aSemaphore afterSeconds:seconds
@@ -2606,8 +2601,8 @@
 
                 sema := timeoutSemaphoreArray at:index.
                 sema notNil ifTrue:[
+                    timeoutSemaphoreArray at:index put:nil.
                     sema signalOnce.
-                    timeoutSemaphoreArray at:index put:nil
                 ] ifFalse:[
                     "to support pure-events"
                     block := timeoutActionArray at:index.
@@ -2654,7 +2649,7 @@
         ]
     ]
 
-    "Modified: / 29.1.1998 / 17:05:03 / cg"
+    "Modified: / 9.11.1998 / 21:25:02 / cg"
 !
 
 removeTimedBlock:aBlock
@@ -2999,6 +2994,6 @@
 !ProcessorScheduler class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/ProcSched.st,v 1.168 1998-11-09 20:19:41 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/ProcSched.st,v 1.169 1998-11-09 20:27:11 cg Exp $'
 ! !
 ProcessorScheduler initialize!
--- a/ProcessorScheduler.st	Mon Nov 09 21:19:41 1998 +0100
+++ b/ProcessorScheduler.st	Mon Nov 09 21:28:11 1998 +0100
@@ -2230,26 +2230,21 @@
      Normal smalltalk code should always send an appropriate message directly
      to the semaphore (i.e. aSemaphore signal)."
 
-    |now wasBlocked|
-
-    wasBlocked := OperatingSystem blockInterrupts.
-    now := OperatingSystem getMillisecondTime.
-    self signal:aSemaphore atMilliseconds:now.
-    wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
-
-    "Created: 24.9.1996 / 10:18:45 / cg"
+    self signal:aSemaphore atMilliseconds:OperatingSystem getMillisecondTime.
+
+    "Modified: / 9.11.1998 / 20:39:06 / cg"
 !
 
 signal:aSemaphore afterMilliseconds:millis
     "arrange for a semaphore to be triggered after some milliseconds"
 
-    |now then wasBlocked|
-
-    wasBlocked := OperatingSystem blockInterrupts.
+    |now then|
+
     now := OperatingSystem getMillisecondTime.
     then := OperatingSystem millisecondTimeAdd:now and:millis rounded.
     self signal:aSemaphore atMilliseconds:then.
-    wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
+
+    "Modified: / 9.11.1998 / 20:39:27 / cg"
 !
 
 signal:aSemaphore afterSeconds:seconds
@@ -2606,8 +2601,8 @@
 
                 sema := timeoutSemaphoreArray at:index.
                 sema notNil ifTrue:[
+                    timeoutSemaphoreArray at:index put:nil.
                     sema signalOnce.
-                    timeoutSemaphoreArray at:index put:nil
                 ] ifFalse:[
                     "to support pure-events"
                     block := timeoutActionArray at:index.
@@ -2654,7 +2649,7 @@
         ]
     ]
 
-    "Modified: / 29.1.1998 / 17:05:03 / cg"
+    "Modified: / 9.11.1998 / 21:25:02 / cg"
 !
 
 removeTimedBlock:aBlock
@@ -2999,6 +2994,6 @@
 !ProcessorScheduler class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.168 1998-11-09 20:19:41 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.169 1998-11-09 20:27:11 cg Exp $'
 ! !
 ProcessorScheduler initialize!