Re: Synchronization primitives (was:Re: Where is atomicqueue?)
Re: Synchronization primitives (was:Re: Where is atomicqueue?)
- Subject: Re: Synchronization primitives (was:Re: Where is atomicqueue?)
- From: "Shawn Erickson" <email@hidden>
- Date: Tue, 29 Apr 2008 08:22:19 -0700
On Tue, Apr 29, 2008 at 8:18 AM, Shawn Erickson <email@hidden> wrote:
> On Tue, Apr 29, 2008 at 8:11 AM, Army Research Lab <email@hidden> wrote:
>
> > I want to be able to use this from user space. Are there any functions that
> > are supported from user space and capable of all that the OSAtomic*
> > functions are?
>
> If you are interested in support 10.4 and later then yes. Review...
>
> <http://developer.apple.com/documentation/Darwin/Reference/ManPages/man3/atomic.3.html>
> <http://developer.apple.com/documentation/Darwin/Reference/ManPages/man3/spinlock.3.html>
As a note about how to explore things (man pages state libc is the
library that provides these)...
Note this is on a Leopard (10.5) system.
[0:588] > nm -arch i386 /usr/lib/libc.dylib | grep OS
0000af00 T _OSAtomicAdd32
0000af00 T _OSAtomicAdd32Barrier
0000af14 T _OSAtomicAdd64
0000af14 T _OSAtomicAdd64Barrier
0000ae2c T _OSAtomicAnd32
0000ae2c T _OSAtomicAnd32Barrier
0000ae74 T _OSAtomicAnd32Orig
0000ae74 T _OSAtomicAnd32OrigBarrier
0000aebc T _OSAtomicCompareAndSwap32
0000aebc T _OSAtomicCompareAndSwap32Barrier
0000aed8 T _OSAtomicCompareAndSwap64
0000aed8 T _OSAtomicCompareAndSwap64Barrier
0000aebc T _OSAtomicCompareAndSwapInt
0000aebc T _OSAtomicCompareAndSwapIntBarrier
0000aebc T _OSAtomicCompareAndSwapLong
0000aebc T _OSAtomicCompareAndSwapLongBarrier
0000aebc T _OSAtomicCompareAndSwapPtr
0000aebc T _OSAtomicCompareAndSwapPtrBarrier
0000afcc T _OSAtomicDequeue
0000afa8 T _OSAtomicEnqueue
0000ae44 T _OSAtomicOr32
0000ae44 T _OSAtomicOr32Barrier
0000ae8c T _OSAtomicOr32Orig
0000ae8c T _OSAtomicOr32OrigBarrier
0000af60 T _OSAtomicTestAndClear
0000af60 T _OSAtomicTestAndClearBarrier
0000af3c T _OSAtomicTestAndSet
0000af3c T _OSAtomicTestAndSetBarrier
0000ae5c T _OSAtomicXor32
0000ae5c T _OSAtomicXor32Barrier
0000aea4 T _OSAtomicXor32Orig
0000aea4 T _OSAtomicXor32OrigBarrier
0000afa0 T _OSMemoryBarrier
0000af8c T _OSSpinLockLock
0000af84 T _OSSpinLockTry
0000af94 T _OSSpinLockUnlock
000b9f4c T _OSSystemInfo
[0:590] > nm -arch ppc /usr/lib/libc.dylib | grep OS
0000bc94 T _OSAtomicAdd32
0000be4c T _OSAtomicAdd32Barrier
0000bcc4 T _OSAtomicAnd32
0000bea4 T _OSAtomicAnd32Barrier
0000bd4c T _OSAtomicAnd32Orig
0000bf2c T _OSAtomicAnd32OrigBarrier
0000bdac T _OSAtomicCompareAndSwap32
0000bf8c T _OSAtomicCompareAndSwap32Barrier
0000bdb0 T _OSAtomicCompareAndSwapInt
0000bf90 T _OSAtomicCompareAndSwapIntBarrier
0000bdb8 T _OSAtomicCompareAndSwapLong
0000bf98 T _OSAtomicCompareAndSwapLongBarrier
0000bdb4 T _OSAtomicCompareAndSwapPtr
0000bf94 T _OSAtomicCompareAndSwapPtrBarrier
0000c040 T _OSAtomicDequeue
0000c03c T _OSAtomicEnqueue
0000bc98 T _OSAtomicOr32
0000be78 T _OSAtomicOr32Barrier
0000bd1c T _OSAtomicOr32Orig
0000befc T _OSAtomicOr32OrigBarrier
0000be04 T _OSAtomicTestAndClear
0000bfe4 T _OSAtomicTestAndClearBarrier
0000bdbc T _OSAtomicTestAndSet
0000bf9c T _OSAtomicTestAndSetBarrier
0000bcf0 T _OSAtomicXor32
0000bed0 T _OSAtomicXor32Barrier
0000bd7c T _OSAtomicXor32Orig
0000bf5c T _OSAtomicXor32OrigBarrier
0000c038 T _OSMemoryBarrier
0000c030 T _OSSpinLockLock
0000c02c T _OSSpinLockTry
0000c034 T _OSSpinLockUnlock
000dda38 T _OSSystemInfo
-Shawn
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden