Sponsored Content
Top Forums Programming Message queue is not blocked in msgsnd Post 302558035 by Corona688 on Thursday 22nd of September 2011 02:38:31 PM
Old 09-22-2011
Interesting, now I see why msgrcv can selectively ignore message types.

Have them send and receive different message types, blocking their own.

Code:
msg->mtype=1; // Send a type-1 message.
msgsnd(msqid, msg, msg_size, 0);
msgrcv(msqid, msg, msg_size, 1, MSG_EXCEPT); // Ignore type-1 messages

 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Unix message Queue

Hi, I am working closly with unix message queues i have encountered the following - after creating the Q and start working with it (pushing & pulling) i receive the following stange parameters on the q's - STIME=no_entry Qnum=0 CBYTES=4140 when this happens, the Q is disabled (meaning i... (3 Replies)
Discussion started by: kel
3 Replies

2. Programming

a message queue question..

Hi there: Thanks first. When I use a message queue amony severl processes, will I have to synchronize the queue? I don't think I would have to because a message queue is implemented in a link listed. Correct me If I am wrong... (0 Replies)
Discussion started by: yanhu
0 Replies

3. Programming

Message Queue Problem Again..

Is there any way one can delete , say , a particular message from a message queue on system V? (2 Replies)
Discussion started by: satansfury
2 Replies

4. Programming

Message Queue with fork() help

hi all... ive been trying this program where i spawn 4 threads... and i am trying to use message queue to send msgs from 3 of the threads to the parent thread... but it doent seem to be working... ive almost pulled out my hair tryin to fix the prob :confused: another wierd thing... (1 Reply)
Discussion started by: strider
1 Replies

5. Programming

message queue

Hello, i need to write a message queue "chat server", that should work only localy. Can anyone please help me with some ideas and peshaps code. I'm studying the UNIX IPC mechanisms right now. So far, i understand how it works but i still cannot get an idea how to write a chat programm... ... (2 Replies)
Discussion started by: etenv
2 Replies

6. Programming

How to limit max no of message in a posix message queue

Hii can anyone pls tell how to limit the max no of message in a posix message queue. I have made changes in proc/sys/fs/mqueue/msg_max But still whenever i try to read the value of max. message in the queue using attr.mq_curmsgs (where struct mq_attr attr) its giving the default value as 10.... (0 Replies)
Discussion started by: mohit3884
0 Replies

7. Programming

Message Queue Problem

Hi all, I need help about message queues, i have a server-client program that communicates each other via msg queue, firstly server opens its msg queue and waits for msg then client opens server msg queue and its own msg queue(for receiving msg from server,clients sends msg to server msg... (7 Replies)
Discussion started by: SaTYR
7 Replies

8. Programming

UNIX Message Queue

Hello !!!!! I have a simple question but i can't find the answer anywhere hope to meet it here. Why it is a bad idea to pass pointers through message queues ? Most structs i see all of their char types are arrays... Is it becase having pointers means we could possibily send wrong bytes ? For... (2 Replies)
Discussion started by: qlyine
2 Replies

9. Ubuntu

Message Queue in Linux

Hello How can I see the created message queues in the system? (4 Replies)
Discussion started by: xyzt
4 Replies

10. UNIX for Dummies Questions & Answers

Denyhosts displaying warning message for users blocked

Hi, I have a dilemma.I am running denyhosts on one of our servers and it monitors illegal ssh/ftp loggins. I am running vsftpd. My manager though has put an additional requirement on me. When someone is blocked my denyhosts he want an error message to be displayed: " YOUR ACCOUNT HAS BEEN... (0 Replies)
Discussion started by: mojoman
0 Replies
mq_send(2)							System Calls Manual							mq_send(2)

NAME
mq_send - send a message to a message queue SYNOPSIS
DESCRIPTION
The system call adds a message pointed to by the argument msg_ptr to the message queue specified by mqdes. The msg_len argument specifies the length of the message in bytes. The value of msg_len should be less than or equal to the mq_msgsize attribute of the message queue, or will fail. If the specified message queue is not full, will insert the message into the queue at the position indicated by the msg_prio argument. A message with priority, msg_prio, will be inserted behind any other messages with larger or equal priority. The value of msg_prio should be less than If the specified message queue is full and the flag is not set in the message queue blocking status associated with mqdes, will block in priority order, until it can send a message on the queue, or until is interrupted by a signal. If the specified message queue is full and the flag is set in the message queue blocking status associated with mqdes, the message will not be enqueued, and will return with an error. To use this function, link in the realtime library by specifying on the compiler or linker command line. RETURN VALUE
returns the following values: Successful completion. The message is enqueued. Failure. is set to indicate the error and the message is not enqueued. ERRORS
If fails, is set to one of the following values: [EAGAIN] The flag is set in the message queue blocking status associated with mqdes, and the message queue is full. [EBADF] mqdes is not a valid message queue descriptor open for writing. [EINTR] A signal interrupted the call to [EINVAL] msg_ptr points to an invalid address, or the value of msg_prio is outside the valid range. [EMSGSIZE] The specified message length, msg_len, exceeds the message size attribute of the message queue. [ENOSYS] is not supported by the implementation. SEE ALSO
mq_receive(2), mq_setattr(2), mq_getattr(2), sysconf(2). STANDARDS CONFORMANCE
mq_send(2)
All times are GMT -4. The time now is 08:11 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy