Voltar à lista
Linux x86_64IPC & sincronização#71

msgctl

Executa operações de controle sobre uma fila de mensagens System V (consulta, ajuste, remoção).

Descrição

Inclui IPC_STAT, IPC_SET e IPC_RMID, análogos aos de `shmctl`/`semctl`.

Header: sys/msg.hman 2

Assinatura

int msgctl(int msqid, int cmd, struct msqid_ds * buf);

Parâmetros

ParâmetroTipoDescrição
msqidintIdentificador da fila.
cmdintIPC_STAT, IPC_SET, IPC_RMID, entre outros.
bufstruct msqid_ds *Estrutura de entrada/saída com os metadados da fila.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1msqidint
rsiargumento 2cmdint
rdxargumento 3bufstruct msqid_ds *

Valor de retorno

Depende de `cmd`; -1 em erro, com errno definido.

Códigos de erro (errno)

EACCES(13)
Permissão negada.
EIDRM(43)
Identificador removido (IPC System V).
EINVAL(22)
Argumento inválido.
EPERM(1)
Operação não permitida (falta de privilégio).

Relacionadas