PHP flock () non-blocking ainda bloquear por quê?

Estou usando a função flock () para verificar se outra instância do script já está em execução, obtendo o bloqueio em um arquivo temporário, para que a próxima instância verifique se o arquivo não está bloqueado, caso contrário, ele pára

<?php    
$fp = fopen("/var/tmp/your.lock", "w");
if (!flock($fp, LOCK_EX|LOCK_NB)) { // try to get exclusive lock, non-blocking
    die("Another instance is running");
} 

//my script 
sleep(10);
echo 'completed successfully';

o script funciona sem problemas ao chamar o arquivo duas vezes ao mesmo tempo de navegadores diferentes enquanto aguarda se eu abri duas instâncias ao mesmo tempo no mesmo navegador, ou seja, a primeira chamada obtém o bloqueio e a segunda espera pelo bloqueio e não fecha

Eu sei que pode haver outras maneiras de verificar se um arquivo de uma instância já está funcionando, mas a maioria deles fará uma coisa e, em meu caso, o script pode terminar a qualquer momento, pois pode levar muito tempo ou exceder o limite de memória ou por qualquer motivo

qualquer ajuda ?

questionAnswers(2)

yourAnswerToTheQuestion