Linux x86_64IPC & sincronização#245
mq_getsetattr
Consulta e/ou altera os atributos (flags) de uma fila de mensagens POSIX aberta.
Descrição
Na prática, só o flag O_NONBLOCK pode ser alterado após a criação da fila.
Header:
mqueue.hman 2Desde o kernel 2.6.6Assinatura
int mq_getsetattr(
mqd_t mqdes,
const struct mq_attr * newattr,
struct mq_attr * oldattr
);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| mqdes | mqd_t | Descritor da fila. |
| newattr | const struct mq_attr * | Novos atributos, ou NULL para apenas consultar. |
| oldattr | struct mq_attr * | Se não for NULL, recebe os atributos anteriores. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | mqdesmqd_t |
| rsi | argumento 2 | newattrconst struct mq_attr * |
| rdx | argumento 3 | oldattrstruct mq_attr * |
Valor de retorno
0 em sucesso; -1 em erro, com errno definido.
Códigos de erro (errno)
- EBADF(9)
- Descritor de arquivo inválido.
- EINVAL(22)
- Argumento inválido.