03-10-2013
Instead of pipes -- if you're worried about resources or blocking, simply use a single thread that reads a message queue. Once a message queue (SYSV or POSIX) is set up there is a single syscall ( e.g., msgsnd, no blocking ) that is mt-safe and a mutex is not required.
The buffersize, unlike, a pipe, can be any size. The message queue buffer is kernel persistent, so if the entire set of threads/processes using the message queue die, the data is still available. Pipes are closed on process termination.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Does anyone know what's new with Efficient dispatching in the Solaris 2.8 release (vs Solaris 2.6) release?
Specifically, does anyone know of a good website to get detailed information on thread dispatching using efficient dispatching in solaris 2.8?
Thank you. (1 Reply)
Discussion started by: uchachra
1 Replies
2. Shell Programming and Scripting
I'm using korn shell to connect to oracle, retrieve certain values, put them in a list, and iterate through them. While this method works, I can't help but think there is an easier method.
If you know of one, please suggest a shorter, more efficient method.
############### FUNCTIONS ... (6 Replies)
Discussion started by: SelectSplat
6 Replies
3. Shell Programming and Scripting
Hi,
Can someone let me know if the below AWK can be made much simpler / efficient ?
I have 200 fields, I need to substr only the last fields.
So i'm printing awk -F~ 'print {$1, $2, $3....................................$196,$197 , susbstr($198,1,3999), substr($199,1,3999)..}'
Is there a... (4 Replies)
Discussion started by: braindrain
4 Replies
4. Shell Programming and Scripting
Hi
I have the following at the end of a service shutdown script used in part of an active-passive failover setup:
###
# Shutdown all primary Network Interfaces
# associated with failover
###
# get interface names based on IP's
# and shut them down to simulate loss of
# heartbeatd
... (1 Reply)
Discussion started by: mikie
1 Replies
5. Shell Programming and Scripting
I have the following code.
printf "Test Message Report" > report.txt
while read line
do
msgid=$(printf "%n" "$line" | cut -c1-6000| sed -e 's///g' -e 's|.*ex:Msg\(.*\)ex:Msg.*|\1|')
putdate=$(printf "%n" "$line" | cut -c1-6000| sed -e 's///g' -e 's|.*PutDate\(.*\)PutTime.*|\1|')... (9 Replies)
Discussion started by: gugs
9 Replies
6. UNIX for Advanced & Expert Users
some of the data i receive has been typed in manually due to which there are often places where i find 8 instead of ( and the incorrect use of case
what according to you is the best way to correct such data.
The data has around 20,000 records.
The value i want to change is in the 4th field.... (2 Replies)
Discussion started by: VGR
2 Replies
7. Post Here to Contact Site Administrators and Moderators
Hi Everyone. First, I want to thank all of you for letting me participate in this great group.
I am having a bit of a problem.
After I get an email from a responder, I login to make my reply.
In the mean time I get another response by email from another member, I go to reply to them and I... (6 Replies)
Discussion started by: Ccccc
6 Replies
8. UNIX for Advanced & Expert Users
Hi Experts,
I've been trying simple grep to search for a string in a huge number of files in a directory.
grep <pattern> *
this gives the search results as well as the following -
grep: <filename>: Permission denied
grep: <filename>: Permission denied
for files which I don't have... (4 Replies)
Discussion started by: sumoka
4 Replies
9. Shell Programming and Scripting
Hello guys
My requirement is to read a file with parent-child relationship
we need to iterate through each row to find its latest child.
for eg. parent child
ABC PQR
PQR DEF
DEF XYZ
Expected Output
ABC XYZ
PQR XYZ
DEF XYZ
Script Logic :
read parent from file
seach child... (4 Replies)
Discussion started by: joshiamit
4 Replies
10. Linux
When unlocking a Linux server's console there's no event indicating successful logging
Is there a way I can fix this ?
I have the following in my rsyslog.conf
auth.info /var/log/secure
authpriv.info /var/log/secure (1 Reply)
Discussion started by: walterthered
1 Replies
LEARN ABOUT SUSE
mq_unlink
MQ_UNLINK(3) Linux Programmer's Manual MQ_UNLINK(3)
NAME
mq_unlink - remove a message queue
SYNOPSIS
#include <mqueue.h>
mqd_t mq_unlink(const char *name);
Link with -lrt.
DESCRIPTION
mq_unlink() removes the specified message queue name. The message queue name is removed immediately. The queue itself is destroyed once
any other processes that have the queue open close their descriptors referring to the queue.
RETURN VALUE
On success mq_unlink() returns 0; on error, -1 is returned, with errno set to indicate the error.
ERRORS
EACCES The caller does not have permission to unlink this message queue.
ENAMETOOLONG
name was too long.
ENOENT There is no message queue with the given name.
CONFORMING TO
POSIX.1-2001.
SEE ALSO
mq_close(3), mq_getattr(3), mq_notify(3), mq_open(3), mq_receive(3), mq_send(3), mq_overview(7)
COLOPHON
This page is part of release 3.25 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2006-02-25 MQ_UNLINK(3)