Process.st
changeset 2724 9fb9ea4bf858
parent 2689 ada9b102abcf
child 2725 f5419dbc5f32
--- a/Process.st	Sat Jun 28 16:21:51 1997 +0200
+++ b/Process.st	Sat Jun 28 16:35:22 1997 +0200
@@ -13,7 +13,8 @@
 Link subclass:#Process
 	instanceVariableNames:'id prio state startBlock name restartable interruptActions
 		exitActions suspendSemaphore singleStepping
-		emergencySignalHandler suspendActions creatorId processGroupId'
+		emergencySignalHandler suspendActions creatorId processGroupId
+		interruptsDisabled'
 	classVariableNames:'TerminateSignal RestartSignal CoughtSignals'
 	poolDictionaries:''
 	category:'Kernel-Processes'
@@ -686,11 +687,18 @@
 
 interruptedIn:aContext
     "evaluate my interrupt-actions.
-     The process will go back to where it got interrupted
-     after doing this."
+     This is indirectly called by the VM, when some #interruptWith: action
+     was scheduled for the process, and the process is resumed.
+     The process will go back to where it got interrupted after doing this."
 
     |action|
 
+    interruptsDisabled == true ifTrue:[
+	"/ no, I dont want interrupts right now;
+	"/ try again later.
+	^ false
+    ].
+
     [interruptActions size > 0] whileTrue:[
         self uninterruptablyDo:[
             action := interruptActions removeFirst
@@ -701,7 +709,8 @@
             action value
         ]
     ].
-    interruptActions := nil
+    interruptActions := nil.
+    ^ true
 
     "Created: 18.10.1996 / 20:43:39 / cg"
     "Modified: 18.10.1996 / 20:47:20 / cg"
@@ -1341,6 +1350,6 @@
 !Process class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Process.st,v 1.78 1997-06-16 18:21:30 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Process.st,v 1.79 1997-06-28 14:35:22 cg Exp $'
 ! !
 Process initialize!