Name
cgSetLockingPolicy - set locking policy
Synopsis
#include <Cg/cg.h> CGenum cgSetLockingPolicy( CGenum lockingPolicy );Parameters
- lockingPolicy
- An enumerant describing the desired locking policy for the library. The following enumerants are allowed:
- CG_THREAD_SAFE_POLICY
- Locks will be used to serialize thread access to the library.
- CG_NO_LOCKS_POLICY
- Locks will not be used.
Return Values
Returns the previous locking policy, or CG_UNKNOWN if an error occurs.
Description
cgSetLockingPolicy allows an application to change the locking policy used by the Cg library. The default policy is CG_THREAD_SAFE_POLICY, meaning a lock is used to serialize access to the library by mulitiple threads. Single threaded applications can change this policy to CG_NO_LOCKS_POLICY to avoid the overhead associated with this lock. Multithreaded applications should never change this policy.
Examples
/* multithreaded apps should *never* do this */ cgSetLockingPolicy(CG_NO_LOCKS_POLICY);Errors
CG_INVALID_ENUMERANT_ERROR is generated if lockingPolicy is not CG_NO_LOCKS_POLICY or CG_THREAD_SAFE_POLICY.
History
cgSetLockingPolicy was introduced in Cg 2.0.
See Also