equal
deleted
inserted
replaced
2028 wasBlocked := OperatingSystem blockInterrupts. |
2028 wasBlocked := OperatingSystem blockInterrupts. |
2029 |
2029 |
2030 id := aProcess id. |
2030 id := aProcess id. |
2031 id isNil ifTrue:[ "already dead" |
2031 id isNil ifTrue:[ "already dead" |
2032 wasBlocked ifFalse:[OperatingSystem unblockInterrupts]. |
2032 wasBlocked ifFalse:[OperatingSystem unblockInterrupts]. |
2033 'no id' errorPrintCR. |
2033 self checkForEndOfDispatch. |
2034 ^ self |
2034 ^ self |
2035 ]. |
2035 ]. |
2036 |
2036 |
2037 aProcess setId:nil state:#dead. |
2037 aProcess setId:nil state:#dead. |
2038 |
2038 |
3332 "/ check if there are any processes at all |
3332 "/ check if there are any processes at all |
3333 "/ stop dispatching if there is none |
3333 "/ stop dispatching if there is none |
3334 "/ (and anyTimeouts is false, which means that no timeout blocks are present) |
3334 "/ (and anyTimeouts is false, which means that no timeout blocks are present) |
3335 "/ and no readSemaphores are present (which means that noone is waiting for input) |
3335 "/ and no readSemaphores are present (which means that noone is waiting for input) |
3336 "/ and no writeSemaphores are present |
3336 "/ and no writeSemaphores are present |
3337 'check' errorPrintCR. |
|
3338 self noMoreUserProcesses ifTrue:[ |
3337 self noMoreUserProcesses ifTrue:[ |
3339 'end of dispatch' errorPrintCR. |
3338 'end of dispatch' errorPrintCR. |
3340 dispatching := false. |
3339 dispatching := false. |
3341 ^ self |
3340 ^ self |
3342 ]. |
3341 ]. |