Provided by: manpages-pt-dev_20040726-5_all bug

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)