Files
CS3841/Examples/ipc/ipcmsg_gfg_r.c
p-w-rs 6d881b3edd stuff
2022-09-21 12:04:48 -05:00

40 lines
1009 B
C

// C Program for Message Queue (Reader Process)
#include <stdio.h>
#include <sys/ipc.h>
#include <sys/msg.h>
// structure for message queue
struct mesg_buffer
{
long mesg_type;
char mesg_text[100];
} message;
int main()
{
key_t key;
int msgid;
// ftok to generate unique key
key = ftok("progfile", 65);
// msgget creates a message queue
// and returns identifier
msgid = msgget(key, 0666 | IPC_CREAT);
// msgrcv to receive message
msgrcv(msgid, &message, sizeof(message), 0, 0);
printf("Data Received is : %s \n", message.mesg_text);
msgrcv(msgid, &message, sizeof(message), 0, 0);
printf("Data Received is : %s \n", message.mesg_text);
msgrcv(msgid, &message, sizeof(message), 0, 0);
printf("Data Received is : %s \n", message.mesg_text);
msgrcv(msgid, &message, sizeof(message), 0, 0);
printf("Data Received is : %s \n", message.mesg_text);
// to destroy the message queue
msgctl(msgid, IPC_RMID, NULL);
return 0;
}