DeviceWorkstation.st
changeset 94 8931597dfa3c
parent 89 ea2bf46eb669
child 98 cd6af625d477
--- a/DeviceWorkstation.st	Tue Feb 07 16:31:23 1995 +0100
+++ b/DeviceWorkstation.st	Wed Feb 08 04:18:36 1995 +0100
@@ -34,7 +34,7 @@
 COPYRIGHT (c) 1993 by Claus Gittinger
 	      All Rights Reserved
 
-$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.23 1995-02-06 00:36:13 claus Exp $
+$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.24 1995-02-08 03:18:30 claus Exp $
 '!
 
 !DeviceWorkstation class methodsFor:'documentation'!
@@ -55,7 +55,7 @@
 
 version
 "
-$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.23 1995-02-06 00:36:13 claus Exp $
+$Header: /cvs/stx/stx/libview/DeviceWorkstation.st,v 1.24 1995-02-08 03:18:30 claus Exp $
 "
 !
 
@@ -1285,19 +1285,20 @@
 	inputSema := Semaphore new.
 	p := [
 	    [dispatching] whileTrue:[
-		self eventPending ifFalse:[
-		    Processor activeProcess setStateTo:#ioWait if:#active.
-		    inputSema wait.
-		].
-
-		self dispatchPendingEvents.
-		self checkForEndOfDispatch.
-
-		dispatching ifFalse:[
-		    Processor disableSemaphore:inputSema.
-		    inputSema := nil
+		AbortSignal handle:[:ex |
+		    ex return
+		] do:[
+		    self eventPending ifFalse:[
+			Processor activeProcess setStateTo:#ioWait if:#active.
+			inputSema wait.
+		    ].
+
+		    self dispatchPendingEvents.
+		    self checkForEndOfDispatch.
 		]
-	    ]
+	    ].
+	    Processor disableSemaphore:inputSema.
+	    inputSema := nil
 	] forkAt:(Processor userInterruptPriority).
 	"
 	 give the process a nice name