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

cgGetLockingPolicy