CPExclusiveLock: Difference between revisions

From iPhone Development Wiki
(Fix typo. Bestow an IPFHeader transclusion.)
mNo edit summary
 
Line 1: Line 1:
[[CPExclusiveLock]] provides system-wide locking through temporary files. You use CPExclusiveLock like any other <code>NSLocking</code>-conformant classes, e.g.
[[CPExclusiveLock]] provides system-wide locking through temporary files. You use CPExclusiveLock like any other <code>NSLocking</code>-conformant classes.
 
<source lang="objc">
<source lang="objc">
CPExclusiveLock* syslock = [[CPExclusiveLock alloc] initWithName:@"MyExclusiveLock"];
CPExclusiveLock* syslock = [[CPExclusiveLock alloc] initWithName:@"MyExclusiveLock"];
Line 10: Line 11:
When the lock is acquired, the object will open the temporary file with <code>O_NONBLOCK|O_EXLOCK|O_CREAT</code> mode.
When the lock is acquired, the object will open the temporary file with <code>O_NONBLOCK|O_EXLOCK|O_CREAT</code> mode.


== Header ==
== External links ==
 
{{IPFHeader|AppSupport}}
{{IPFHeader|AppSupport}}

Latest revision as of 16:13, 26 October 2014

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