made "When I receive any messagge" non-thread-safe by default (again)

to enable tail recursive broadcasts
snap7
jmoenig 2022-01-03 12:05:24 +01:00
rodzic e383d8d0cf
commit 9e9041ac5f
4 zmienionych plików z 13 dodań i 7 usunięć

Wyświetl plik

@ -5,6 +5,7 @@
* **New Features:**
* **Notable Changes:**
* same blocks with empty variadic inputs compare as equal regardless of their arity
* made "When I receive any messagge" non-thread-safe by default (again) to enable tail recursive broadcasts
* **Notable Fixes:**
* fixed storing the stage name(s)
* removed distinction between number and string keys in "analyze"
@ -18,6 +19,7 @@
* Italian translation update, thanks, Stefano!
* api: fixed variable binding when broadcasting through the API, thanks, Zak!
* objects: fixed programmatically hiding palette blocks using the "hide variable" block, thanks, Zak!
* threads, api: made "When I receive any messagge" non-thread-safe by default (again) to enable tail recursive broadcasts
### 2022-01-02
* store: fixed storing the stage name(s)

Wyświetl plik

@ -17,7 +17,7 @@
<script src="src/symbols.js?version=2021-03-03"></script>
<script src="src/widgets.js?version=2021-17-09"></script>
<script src="src/blocks.js?version=2021-12-20"></script>
<script src="src/threads.js?version=2021-12-22"></script>
<script src="src/threads.js?version=2022-01-02"></script>
<script src="src/objects.js?version=2022-01-03"></script>
<script src="src/scenes.js?version=2021-11-24"></script>
<script src="src/gui.js?version=2021-12-22"></script>

Wyświetl plik

@ -148,8 +148,10 @@ IDE_Morph.prototype.broadcast = function(message, callback) {
procs.push(this.stage.threads.startProcess(
block,
morph,
this.stage.isThreadSafe || // make "any msg" threadsafe
block.inputs()[0].evaluate() instanceof Array,
this.stage.isThreadSafe,
// commented out for now to enable tail recursion:
// || // make "any msg" threadsafe
// block.inputs()[0].evaluate() instanceof Array,
null, // exportResult (bool)
callback instanceof Function ? wait : null,
null, // isClicked

Wyświetl plik

@ -9,7 +9,7 @@
written by Jens Mönig
jens@moenig.org
Copyright (C) 2021 by Jens Mönig
Copyright (C) 2022 by Jens Mönig
This file is part of Snap!.
@ -64,7 +64,7 @@ SnapExtensions, AlignmentMorph, TextMorph, Cloud, HatBlockMorph*/
/*jshint esversion: 6*/
modules.threads = '2021-December-22';
modules.threads = '2022-January-03';
var ThreadManager;
var Process;
@ -3744,8 +3744,10 @@ Process.prototype.doBroadcast = function (message, receivers) {
procs.push(stage.threads.startProcess(
block,
morph,
stage.isThreadSafe || // make "any msg" threadsafe
block.inputs()[0].evaluate() instanceof Array,
stage.isThreadSafe,
// commented out for now to enable tail recursion:
// || // make "any msg" threadsafe
// block.inputs()[0].evaluate() instanceof Array,
null, // exportResult (bool)
null, // callback
null, // isClicked