Sistemas Operacionais

Chamada de Sistema: msgget()


SINÓPSE

#include < sys/types.h >
#include < sys/ipc.h >
#include < sys/msg.h >

int msgget( key_t key, int msgflag )

 

DESCRIÇÃO

Toda fila de mensagens necessita de uma identificação única, um número ID, criado pelo Sistema Operacional a partir de uma chave numérica estabelecida pelo programador.

A chamada msgget é utilizada para traduzir uma chave para um número ID. msgget pode também ser usada para criar uma nova fila de mensagens, se assim se desejar e se msflag está setado corretamente. O valor de retorno de msgget é o número ID da fila de mensagens para ser usado em outras chamadas de sistema que manipulam filas de mensagens. Este número ID deve ser guardado, pois é muito importante para poder usar com as chamadas msgrcv e msgsnd. Se msgget falha, o valor -1 será retornado.

Para criar uma fila de mensagens, se ela não existe, ajuste o msflag para IPC_CREAT.

Veja o Experimento #3 para maiores informações sobre filas de mensagens.

 

EXEMPLO

Para criar uma fila de mensagem com uma chave de 0x1111:

int msg_key = 0x1111;
int msg_id;

...

if( (msg_id = msgget(msg_key, IPC_CREAT ) == -1 )
  {
    perror( "msgget" );
  }

 

VEJA TAMBÉM

msgctl, msgsnd, msgrcv


DISPONÍVEL

AIX, Linux, Lynx, SunOS e Solaris


Para maiores informações sobre este comando, consulte a página do manual de seu sistema operacional (comando man).