Ok, sorry, we do need to .yield; it just doesn't make a difference in the current version of ChucK.

The code below will print lots of "bang" in the current version and will never do so in 1.2.1.1, clearly something in the Shreduler changed. Also; I needed to advance time by a samp, just yielding wouldn't do; that's likely a error as well.

Event _e;
time _t;
time foo;

spork ~ beatProcess();

while (true) {
   now + 1.0001::second => _t;
   _e => now;
   if (foo > now) <<<"bang">>>;
   now => foo;
  
   <<< "returned from _e => now at", now >>>;
}

fun void beatProcess() {
   while (true) {
       _t => now;
       if (foo > now) <<<"bang">>>;
       now => foo;
       <<< "broadcasting at", now >>>;
       _e.broadcast();
       samp => now;
   }

..so far I'm inclined to conclude that there was something changed to the shreduler and that soomethign else was wrong in the shreduler of 1.2.1.1 as well as just yielding should be have been enough.

Sigh.

Kas.