diff options
| author | jmoenig <jens@moenig.org> | 2014-11-20 14:21:56 +0100 |
|---|---|---|
| committer | jmoenig <jens@moenig.org> | 2014-11-20 14:21:56 +0100 |
| commit | 5771e93fa150c9a39e84bd9fad0e8a0bd2d61085 (patch) | |
| tree | 098a0e1b8dfc7183c491581059f304cff44cb821 /threads.js | |
| parent | 89c2835130e5f77e92c35c52b26d58370be07a7c (diff) | |
| download | snap-yow-5771e93fa150c9a39e84bd9fad0e8a0bd2d61085.tar.gz snap-yow-5771e93fa150c9a39e84bd9fad0e8a0bd2d61085.zip | |
Fixed #364 avoid “freezing” when calling LAUNCH on empty ring
Diffstat (limited to 'threads.js')
| -rw-r--r-- | threads.js | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -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, |
