Hey guys, Im doing message passing for the first time on a linux OS. Im new to C programming, so bear with me. I made two .c files : central.c and external.c
I simply wanted to pass a message from the central process to the external process. BUT Whenever each process gets to the msgsnd()/msgrcv() method the processes stall there. In the command line I start both processes with:
central.c
external.c
Any comments or help would be much appreciated!
When I am using msgrcv to get a message from a queue, in case of msgsnd some error, the msgrcv thread will waiting forever.
Is there some way that I can specify a time out value for this queue ? just let msgrcv wait for some time, if no message comes during this time slot, msgrcv just return... (3 Replies)
Hi All,
Please guide me how to get rid :
msgrcv : Invalid argument.
I am using message queues: msgsnd and msgrcv,
I am able to send through msgsnd and receive through msgrcv, but at times i get the belo error.
msgrcv : Invalid argument. (1 Reply)
Hi All,
I have a piece of code like blow. It is working fine with AIX 5.3 SP3. When the same thing is getting executed in AIX 5. SP6 it is giving segmentation fault. If I put debug statements before and after, it works fine.
rc = msgrcv(mqid, &msg, size, HIGH_PRIORITY_FIRST , 0)
... (0 Replies)
HI,
When i am configuring php in SUN Solaris. I am getting the below error.
configure: error: Your system seems to lack POSIX threads.
Do i need to install POSIX? If so can somebody let me know where can i download POSIX for Solaris 8?
Thanks, (2 Replies)
Hi everybody,
i couldn't think of any better place to ask this question.
Does LINUX totally confirm with ALL of the POSIX standards??. If not which areas does it diverge??
my apologies if this questions seems sooo stupid to some of you..
thanks (0 Replies)
Hi everybody,
this is the situation. there is a programm XYZ which opens a message queue with the key 47110815 and waits for a SIGUSR1. After receiving this signal it sends a message with type 100 and a number (as ASCII) in the message-body.
I have to write a prog which frist sends the... (1 Reply)
Hi ,
I am using UNIX network programming Vol1 (by R Stevens) book to learn about IPC.
I would be using HP-UX,Solaris and Linux at my work.
I have sections for POSIX and for System V in that book.
I am quite confused in indentifying those OSs as POSIX or SYstem V.
Can anyone please... (1 Reply)
I want to create a program that creates 2 child process, and each of them creates 2 threads, and each thread prints its thread id. I0ve allread done that the outuput isn't the outuput i want.
When a run the following comand "$./a.out | sort -u | wc -l" I have the folowing output
2
$:
It should... (3 Replies)
Hi, I am trying to send/receive data by message queue and expecting it to be blocked on send/read for other side (at least this is my understooding ) , I am connecting message between perl<->C , perl is working as expected , but in C msgsnd and msgrcv are not waiting (blocked) untill second side... (6 Replies)
Discussion started by: alexse
6 Replies
LEARN ABOUT OPENSOLARIS
msg
msg.h(3HEAD) Headers msg.h(3HEAD)NAME
msg.h, msg - message queue structures
SYNOPSIS
#include <sys/msg.h>
DESCRIPTION
The <sys/msg.h> header defines the following data types through typedef:
msgqnum_t used for the number of messages in the message queue
msglen_t used for the number of bytes allowed in the message queue
These types are unsigned integer types that are able to store values at least as large as a type unsigned short.
The <sys/msg.h> header defines the following constant as a message operation flag:
MSG_NOERROR no error if big message
The msqid_ds structure contains the following members:
struct ipc_perm msg_perm Operation permission structure.
msgqnum_t msg_qnum Number of messages currently on
queue.
msglen_t msg_qbytes Maximum number of bytes allowed
on queue.
pid_t msg_lspid Process ID of last msgsnd(2).
pid_t msg_lrpid Process ID of last msgrcv(2).
time_t msg_stime Time of last msgsnd().
time_t msg_rtime Time of last msgrcv().
time_t msg_ctime Time of last change.
The pid_t, time_t, key_t, size_t, and ssize_t types are defined as described in <sys/types.h>. See types(3HEAD).
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Standard |
+-----------------------------+-----------------------------+
SEE ALSO msgctl(2), msgget(2), msgrcv(2), msgsnd(2), ipc.h(3HEAD), types.h(3HEAD), attributes(5), standards(5)SunOS 5.11 10 Sep 2004 msg.h(3HEAD)