02-07-2013
Venam,
Mutex should be used in the case of shared memory.
For instance, an external structure array can be updated by measured thread and read(remove) by logging thread ( with mutex to avoid race condition)
I agree, there is no need of mutex in case of message transmission.
/Tamil
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 NETBSD
pthread_mutex_trylock
PTHREAD_MUTEX(3) BSD Library Functions Manual PTHREAD_MUTEX(3)
NAME
pthread_mutex -- mutual exclusion primitives
LIBRARY
POSIX Threads Library (libpthread, -lpthread)
SYNOPSIS
#include <pthread.h>
int
pthread_mutex_init(pthread_mutex_t * restrict mutex, const pthread_mutexattr_t * restrict attr);
int
pthread_mutex_destroy(pthread_mutex_t *mutex);
int
pthread_mutex_lock(pthread_mutex_t *mutex);
int
pthread_mutex_trylock(pthread_mutex_t *mutex);
int
pthread_mutex_unlock(pthread_mutex_t *mutex);
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
DESCRIPTION
The pthread_mutex_init() function creates a new mutex, with attributes specified with attr. If attr is NULL, the default attributes are
used.
The macro PTHREAD_MUTEX_INITIALIZER can be used to initialize a mutex when the default attributes are appropriate and the mutex can be stati-
cally allocated. The behavior is similar to pthread_mutex_init() with attr specified as NULL, except that no error checking is done.
The pthread_mutex_destroy() function frees the resources allocated for mutex. It is possible to reinitialize a destroyed mutex, but unde-
fined behavior may follow if the destroyed object is otherwise referenced.
The pthread_mutex_lock() function locks mutex. If the mutex is already locked, the calling thread will block until the mutex becomes avail-
able. The error conditions may vary depending on the type of the mutex; see pthread_mutexattr(3) for additional details.
The pthread_mutex_trylock() function locks mutex. If the mutex is already locked, pthread_mutex_trylock() will not block waiting for the
mutex, but will return an error condition.
The pthread_mutex_unlock() function unlocks an acquired mutex. When operating with the default mutex type, undefined behavior follows if a
thread tries to unlock a mutex that has not been locked by it, or if a thread tries to release a mutex that is already unlocked.
RETURN VALUES
Upon success all described functions return zero. Otherwise, an error number will be returned to indicate the error.
ERRORS
pthread_mutex_init() may fail if:
[EAGAIN] The system lacks the resources to initialize another mutex.
[EINVAL] The value specified by attr is invalid.
[ENOMEM] The process cannot allocate enough memory to initialize another mutex.
pthread_mutex_destroy() may fail if:
[EBUSY] Mutex is locked by another thread.
[EINVAL] The value specified by mutex is invalid.
pthread_mutex_lock() may fail if:
[EDEADLK] A deadlock would occur if the thread blocked waiting for mutex.
[EINVAL] The value specified by mutex is invalid.
pthread_mutex_trylock() may fail if:
[EBUSY] Mutex is already locked.
[EINVAL] The value specified by mutex is invalid.
pthread_mutex_unlock() may fail if:
[EINVAL] The value specified by mutex is invalid.
[EPERM] The current thread does not hold a lock on mutex.
SEE ALSO
pthread(3), pthread_barrier(3), pthread_cond(3), pthread_mutexattr(3), pthread_rwlock(3), pthread_spin(3)
STANDARDS
These functions conform to IEEE Std 1003.1-2001 (``POSIX.1'').
BSD
July 8, 2010 BSD