You are probably looking for something like Dahm locks (invented by Dave Dahm 
on the Burroughs B5000 in the 1960s). Here is a long paper on locks including 
this origin:

http://pages.cs.wisc.edu/~remzi/OSFEP/threads-locks.pdf

Here is an idea of the ALGOL define for acquire:

DEFINE
 ACQUIRELOCK (ID) =
     BEGIN
       IF READLOCK (PROCESSID, CONTENDERS[ID]) ^= 0 THEN
          DO
             PROCURE (LOCKS[ID])
          UNTIL READLOCK (-1, CONTENDERS[ID]) = 0;
       OWNERS  [ID] :=  PROCESSID;
     END #


On 7 Dec 2011, at 10:28, koko wrote:

> In windows we have:
> 
> LONG volatile Mylock = 0;
> InterlockedIncrement(&Mylock);
> InterlockedDecrement(&Mylock);
> 
> 
> What should these be replaced with for OSX  as in :
> 
> #ifndef MAC
> LONG volatile Mylock = 0;
> #else
> // Mac 
> #endif
> 
> 
> void SetLock()
> {
> //    EnterCriticalSection(&m_cs);
> #ifndef MAC
>       while(Mylock){Sleep(0);};               // Give up timeslice
>       InterlockedIncrement(&Mylock);
> #else
> // Mac        
> #endif
> }
> 
> 
> void FreeLock()
> {
> //    LeaveCriticalSection(&m_cs);
> #ifndef MAC
>       InterlockedDecrement(&Mylock);
> #else
> // Mac
> #endif
> }
> 
> _______________________________________________
> 
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> 
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> 
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/ianjoyner%40me.com
> 
> This email sent to ianjoy...@me.com

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to