kopia lustrzana https://github.com/backface/turtlestitch
Fixed #364 avoid “freezing” when calling LAUNCH on empty ring
rodzic
89c2835130
commit
5771e93fa1
|
@ -2324,4 +2324,5 @@ ______
|
|||
|
||||
141120
|
||||
------
|
||||
* Lists: Fixed #642, avoid “freezing” when calling CONS on non-list/null
|
||||
* Lists: Fixed #642 avoid “freezing” when calling CONS on non-list/null
|
||||
* Threads: Fixed #364 avoid “freezing” when calling LAUNCH on empty ring
|
||||
|
|
10
threads.js
10
threads.js
|
@ -83,7 +83,7 @@ ArgLabelMorph, localize, XML_Element, hex_sha512*/
|
|||
|
||||
// Global stuff ////////////////////////////////////////////////////////
|
||||
|
||||
modules.threads = '2014-November-17';
|
||||
modules.threads = '2014-November-20';
|
||||
|
||||
var ThreadManager;
|
||||
var Process;
|
||||
|
@ -225,8 +225,9 @@ ThreadManager.prototype.removeTerminatedProcesses = function () {
|
|||
var remaining = [];
|
||||
this.processes.forEach(function (proc) {
|
||||
if (!proc.isRunning() && !proc.errorFlag && !proc.isDead) {
|
||||
proc.topBlock.removeHighlight();
|
||||
|
||||
if (proc.topBlock instanceof BlockMorph) {
|
||||
proc.topBlock.removeHighlight();
|
||||
}
|
||||
if (proc.prompter) {
|
||||
proc.prompter.destroy();
|
||||
if (proc.homeContext.receiver.stopTalking) {
|
||||
|
@ -880,6 +881,9 @@ Process.prototype.fork = function (context, args) {
|
|||
'continuations cannot be forked'
|
||||
);
|
||||
}
|
||||
if (!(context instanceof Context)) {
|
||||
throw new Error('expecting a ring but getting ' + context);
|
||||
}
|
||||
|
||||
var outer = new Context(null, null, context.outerContext),
|
||||
runnable = new Context(null,
|
||||
|
|
Ładowanie…
Reference in New Issue