Voltar à lista
Linux x86_64Arquivos & E/S#73

flock

Aplica ou remove um lock consultivo (advisory) sobre um arquivo inteiro.

Descrição

Lock mais simples que os locks de registro do `fcntl`: opera sobre a file description inteira (não em intervalos de bytes) e é 'consultivo' — processos que não checam explicitamente o lock podem ignorá-lo.

Header: sys/file.hman 2

Assinatura

int flock(int fd, int operation);

Parâmetros

ParâmetroTipoDescrição
fdintDescritor de arquivo a travar.
operationintLOCK_SH, LOCK_EX ou LOCK_UN, opcionalmente com LOCK_NB.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1fdint
rsiargumento 2operationint

Valor de retorno

0 em sucesso; -1 em erro, com errno definido.

Códigos de erro (errno)

EAGAIN(11)
Recurso temporariamente indisponível (tente novamente); também conhecido como EWOULDBLOCK.
EBADF(9)
Descritor de arquivo inválido.
EINTR(4)
Chamada interrompida por um sinal.
EINVAL(22)
Argumento inválido.
ENOLCK(37)
Sem locks disponíveis.

Relacionadas