Quando o msgrcv falhará?

Índice:

Quando o msgrcv falhará?
Quando o msgrcv falhará?
Anonim

A função msgrcv falhará se: [E2BIG] O valor de mtext for maior que msgsz e (msgflg & MSG_NOERROR) for 0. [EACCES]

Msgrcv bloqueia?

As funções msgsnd e msgrcv podem ser executadas como operações de bloqueio ou não-bloqueio. As operações sem bloqueio permitem a transferência assíncrona de mensagens -- o processo não é suspenso como resultado do envio ou recebimento de uma mensagem.

O msgrcv remove a mensagem da fila?

A chamada de sistema msgrcv remove uma mensagem da fila especificada por msqid e a coloca no buffer apontado por msgp. O argumento msgsz especifica o tamanho máximo em bytes para o membro mtext da estrutura apontada pelo argumento msgp.

Como funciona o msgrcv?

A função msgrcv lê uma mensagem da fila de mensagens especificada pelo parâmetro msqid e a coloca no buffer definido pelo usuário apontado pelo parâmetro msgp. O parâmetro msgp aponta para um buffer definido pelo usuário que deve conter o seguinte: Um campo do tipo long int que especifica o tipo da mensagem.

O que msgrcv retorna?

VALOR DE RETORNO

Ao completar com sucesso, msgrcv retorna um valor igual ao número de bytes realmente colocados no buffer mtext. Caso contrário, nenhuma mensagem será recebida, msgrcv retornará (ssize_t)-1 e errno será definido para indicar o erro.

Recomendado: