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
- Header: http://github.com/kennytm/iphone-private-frameworks/blob/master/AppSupport/CPExclusiveLock.h
|