Dev:CPExclusiveLock

From The Apple Wiki

CPExclusiveLock provides system-wide locking through temporary files. You use CPExclusiveLock like any other NSLocking-conformant classes.

CPExclusiveLock* syslock = [[CPExclusiveLock alloc] initWithName:@"MyExclusiveLock"];
[syslock lock];
[device doOperation:1 :2 :3 :4];
[syslock unlock];

A CPExclusiveLock will create a temporary file in ~/Library/Caches. If the name is given, it will be used as the filename. When the lock is acquired, the object will open the temporary file with O_NONBLOCK|O_EXLOCK|O_CREAT mode.

External links