WizardNazyr, причина зависания та же. У вас же есть функция task1, которая выполняет аналогичную функцию и работает корректно. Просто переделайте task2 по аналогии с task1. В task2 во-первых цикл никогда не закончится (while 1 do), во-вторых в if нужно добавить else, срабатывающий пока условие не выполнено, и в нем sleep.