fazer o PHP esperar até que uma função seja concluída?

Existe alguma maneira de fazer o PHP esperar até que uma função retorne antes de continuar?

Este é o meu código:

<?php

    set_time_limit(0);

    function waitforchange($nof) {
        $lfilemod=filemtime($nof);
        while(filemtime($nof) == $lfilemod) {
            clearstatcache();
            usleep(10000);
        }
    }

    waitforchange('./blahblah.txt')
    sleep(5);
    echo 'done';

?>

Espera-se que espere atéblahblah.txt mudanças, espere mais cinco segundos depois disso, em seguida, imprima "feito", no entanto, ele imprime "feito" depois de cinco segundos, independentemente se o arquivo realmente mudou.

questionAnswers(3)

yourAnswerToTheQuestion