enonic / xp

Enonic XP
https://enonic.com
GNU General Public License v3.0
201 stars 34 forks source link

GraalJS: Verify lib-task on multi-threading in executeFunction #9033

Open anatol-sialitski opened 3 years ago

anatol-sialitski commented 3 years ago

Verify lib-task on multi-threading in executeFunction

anatol-sialitski commented 3 years ago

This does not work. Left as is.

var taskId = taskLib.executeFunction({
       description: 'Background task',
       func() {
          var counter = 0;
          var Thread = Java.type('java.lang.Thread')
          var t = new Thread(function run() {
              counter++;
          });
          t.start();
          for (var i = 0; i < 100; i++) {
            counter++;
          }
       }
   });
rymsha commented 2 years ago

Proper fix depends on #8714