--- 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