lang • lock

LOCK

Stream = LOCK Path

Use o caminho Path especificado para criar um bloqueio global do sistema.

Se o arquivo especificado já está bloqueado por outro processo, então o comando falhará.

Cuidado para que o arquivo bloqueado esteja vazio! Por isso, nunca use um arquivo cujo conteúdo é importante.

Desbloqueie o arquivo com a instrução UNLOCK.

Mantenha uma referência para o objeto stream retornado por lock, porque assim que o objeto stream é liberado, é fechado e o bloqueio tem que ser liberado.

Exemplo

DIM hLock AS Stream
'Tenta adquirir o bloqueio
TRY hLock = LOCK "~/my-lock"
IF ERROR THEN
  PRINT "Objeto já está bloqueado, tente mais tarde."
  RETURN
ENDIF
' O arquivo está bloqueado, você pode fazer o trabalho agora!
...
' Não se esqueça de liberar o bloqueio
UNLOCK hLock

LOCK WAIT

Desde 3.6

Stream = LOCK Path WAIT Delay

Tente bloquear um arquivo durante um atraso especificado até que tenha êxito.

Delay é expresso em milissegundos.

Se o atraso terminar antes do bloqueio ser adquirido, o comando falhará

Veja também