Provided by: manpages-pt-dev_20040726-5_all 

NOME
flock - aplica ou remove uma trava consultiva em um arquivo aberto
SINOPSE
#include <sys/file.h>
int flock(int fd, int operation)
DESCRIÇÃO
Aplica ou remove uma trava consultiva em um arquivo aberto. O arquivo especificado por fd. As opereções
válidas são fornecidas abaixo:
LOCK_SH Trava compartilhada. Mais que um processo pode influênciar influenciar uma trava
compartilhada para um arquivo fornecido em um dado tempo.
LOCK_EX Trava exclusiva. Somente um processo pode influênciar um trava exclusiva para um arquivo
fornecido em um dado tempo.
LOCK_UN Destrava.
LOCK_NB Não bloqueia quando travado. Pode ser expecificado (por ou'ing) junto com uma das outra
operações.
Um arquivo não pode simultâneamente ter ambos tipos de trava: compartilhada e exclusiva.
Um arquivo é travado (quer dizer, o inode), não é o descritor de arquivos. Assim, dup(2) e fork(2) não
cria multiplas instâncias de uma trava.
VALORES RETORNADOS
Em caso de sucesso, zero é retornado. Caso contrário, -1 é retornado, e errno é selecionado
adequadamente.
ERROS
EWOULDBLOCK
O arquivo esta travado e o sinalizador LOCK_NB foi selecionado.
DE ACORDO COM
4.4BSD (a chamada flock(2) apareceu primeiramente no BSD 4.2).
NOTAS
flock(2) não trava arquivos via NFS. Use fcntl(2) : que pode trabalhar via NFS, fornecendo uma versão
suficientemente recente do Linux e um servidor que suporta travamentos de arquivos.
flock(2) e fcntl(2) tem semânticas diferentes com respeito para processos ramificados e dup(2).
VEJA TAMBÉM
open(2), close(2), dup(2), execve(2), fcntl(2), fork(2), lockf(3). Além disso locks.txt e mandatory.txt
em /usr/src/linux/Documentation.
TRADUZIDO POR LDP-BR em 21/08/2000.
André L. Fassone Canova <lonelywolf@blv.com.br> (tradução) xxxxxxxxxxxxxxxxxxxxxxxxx <xxx@xxxxxx.xxx.xx>
(revisão)
Linux 11/12/1998 FLOCK(2)