Fixed #364 avoid “freezing” when calling LAUNCH on empty ring

pull/3/merge
jmoenig 2014-11-20 14:21:56 +01:00
rodzic 89c2835130
commit 5771e93fa1
2 zmienionych plików z 9 dodań i 4 usunięć

Wyświetl plik

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

Wyświetl plik

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