08-26-2010
If properly bounded by mutexes(or other synchronization calls) it shouldn't need "volatile". Atomic operations might still need it.
This User Gave Thanks to Corona688 For This Post:
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I am creating a file in Unix using a shell script. The file is getting created in the Unix - ANSI format. My requirement is to convert it to the PC - ANSI format. Can anyone tell me how to do this?
Thanks,
Sunil (0 Replies)
Discussion started by: ssmallya
0 Replies
2. Programming
I have been wondering what the difference between pthread_rwlock_lock and pthread_mutex_lock is. Both these routines acquire an exclusive rw lock on an enclosed region.
So I performed a simple experiment in which I execute both these routines multiple times in a loop. Here are the results:... (1 Reply)
Discussion started by: kmehta
1 Replies
3. Programming
Executive summary:
Code (posted below) cores in AIX 5.3, despite being compiled and run successfully on several other operating systems. Code is attempting to verify that pthread_mutex_lock can be successfully aborted by siglongjmp. I do not believe this is an unreasonable requirement.
If... (1 Reply)
Discussion started by: DreamWarrior
1 Replies
4. Shell Programming and Scripting
Hi
Is there a way to get the program/script name or function name usng built ins.
Like in many languages arg holds the program name
regards (2 Replies)
Discussion started by: xiamin
2 Replies
5. Programming
I follow the description of wiki (Lamport's bakery algorithm - Wikipedia, the free encyclopedia), then implement that algorithm in C, but it doesn't work, Starving is still here, is the implementation worry?
Only print out:
Thread ID: 0 START!
Thread ID: 0 END!
Thread ID: 0 START!... (2 Replies)
Discussion started by: sehang
2 Replies
6. UNIX for Advanced & Expert Users
I am looking to create some ksh93 extensions using the custom builtin feature.
I can successfully create a builtin function, load it using the builtin -f command and get an output. However, I want to get/set values of KSH variables from within my built-in.
For example, lets say I am creating... (2 Replies)
Discussion started by: a_programmer
2 Replies
7. UNIX for Dummies Questions & Answers
Why do shell builtins like echo and pwd have binaries in /bin? When I do which pwd, I get the one in /bin. that means that I am not using the builtin version? What determines which one gets used? Is the which command a definitive way to determine what is being run when I enter pwd? (16 Replies)
Discussion started by: glev2005
16 Replies
8. Programming
I have put some yellow color codes and works well.
I call the funstion using
print_usage(stderr, 0);
I would like to know if there is any way, to store the ansi color codes in variables and then call them inside fprintf.
Or have a format followed by the strings I want to output.
... (5 Replies)
Discussion started by: kristinu
5 Replies
9. UNIX for Dummies Questions & Answers
Not sure if this is the right forum but I have collated a listing of shell and bash builtins.
Builtins is a loose word and may include the '/bin' drawer/folder/directory but NOT any
others in the path list.
In the case of my Macbook Pro, OSX 10.7.5 the enabled internals is also listed...
... (1 Reply)
Discussion started by: wisecracker
1 Replies
LEARN ABOUT SUNOS
atomic_ops
atomic_ops(9F) atomic_ops(9F)
NAME
atomic_ops - atomic operations
SYNOPSIS
#include <sys/atomic.h>
This collection of functions provides atomic memory operations. There are 8 different classes of atomic operations:
atomic_add(9F) These functions provide an atomic addition of a signed value to a variable.
atomic_and(9F) These functions provide an atomic logical 'and' of a value to a variable.
atomic_bits(9F) These functions provide atomic bit setting and clearing within a variable.
atomic_cas(9F) These functions provide an atomic comparison of a value with a variable. If the comparison is equal, then swap in a new
value for the variable, returning the old value of the variable in either case.
atomic_dec(9F) These functions provide an atomic decrement on a variable.
atomic_inc(9F) These functions provide an atomic increment on a variable.
atomic_or(9F) These functions provide an atomic logical 'or' of a value to a variable.
atomic_swap(9F) These functions provide an atomic swap of a value with a variable, returning the old value of the variable.
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Evolving |
+-----------------------------+-----------------------------+
atomic_add(9F), atomic_and(9F), atomic_bits(9F), atomic_cas(9F), atomic_dec(9F), atomic_inc(9F), atomic_or(9F), atomic_swap(9F), mem-
bar_ops(9F), attributes(5)
Atomic instructions ensure global visibility of atomically-modified variables on completion. In a relaxed store order system, this does
not guarantee that the visibility of other variables will be synchronized with the completion of the atomic instruction. If such synchro-
nization is required, memory barrier instructions must be used. See membar_ops(9F).
Atomic instructions can be expensive. since they require synchronization to occur at a hardware level. This means they should be used with
care to ensure that forcing hardware level synchronization occurs a minimum number of times. For example, if you have several variables
that need to be incremented as a group, and each needs to be done atomically, then do so with a mutex lock protecting all of them being
incremented rather than using the atomic_inc(9F) operation on each of them.
28 Mar 2005 atomic_ops(9F)