Да, сломалось.
Но мне с самого начала непонятна такая реализация перезапуска.
Сейчас так:
0 - поток ставится на паузу
1 - поток продолжает выполнение с места, где был остановлен
2 - поток ставится на паузу, при этом при повторной его активации он начинает выполняться с начала, независимо от того, на каком этапе он был остановлен
Когда все просили сделать, и я в том числе, мне кажется предполагали именно новую команду перезапуска.
Так гораздо логичнее.
0 - поток ставится на паузу
1 - поток продолжает выполнение с места, где был остановлен
2 - поток начинает выполняться с начала (остановленный). Если поток запущен пусть там у себя внутри ставится на паузу и начинает выполняться с начала.
Самый частый случай, когда нужен перезапуск потока с начала наступает внезапно.
Вот выполнилось условие (программа выпала в ошибку). Сейчас для перезапуска нужны команды
SETTHREAD (potok, 2) стоп (с последующим пуском с начала)
SETTHREAD (potok, 1) пуск
Получается мы с Тамарой ходим парой. В любом случае мы заранее, обычно, не знаем что будет нужен именно перезапуск.
И ситуация, когда скрипт приостанавливает поток, а потом позже решает продолжить его или перезапустить, гораздо вероятнее, чем когда мы знаем заранее.
SETTHREAD (potok, 1) // пуск
...
SETTHREAD (potok, 0) // пауза
...
...
SETTHREAD (potok, 1) // пуск
...
SETTHREAD (potok, 2) // перезапуск