This module contains API functions to handle SVM synchronisation locks.  
More...
This module contains API functions to handle SVM synchronisation locks. 
◆ svm_lock_new()
This function creates a lock. 
- Parameters
- 
  
    | [in] | svm | The SVM pointer passed as first argument of the callback function. |  
 
This lock supports the mutual exclusion of one writer and several concurent readers.
- Note
- The lock will be kept alive while either a variable or a read lock guard or a write lock guard exists on this lock.
- Returns
- The lock. This lock can be acquired by the API functions svm_lock_readguard_new and svm_lock_writeguard_new.
- Exceptions
- 
  
    | FAILURE | interruption when a parameter is incorrect. (Please refer to the main description page of this API.) |  
 
- See also
- svm_lock_readguard_new 
- 
svm_lock_writeguard_new 
 
 
◆ svm_lock_readguard_new()
This function locks a lock for read access. 
- Parameters
- 
  
    | [in] | svm | The SVM pointer passed as first argument of the callback function. |  | [in] | lock | The lock to acquire. |  | [in] | soft | The process is put in pause while waiting for the lock acquisition. |  
 
The lock is acquired for read access until the returned lock guard is freed/deleted. Please refer to the svm_variable_delete API function.
- Returns
- A read lock guard on the acquired lock.
- Note
- The soft parameter shall be set to FALSE when the lock is used at least once inside a scheduler, and should be set to TRUE otherwise.
- Exceptions
- 
  
    | FAILURE | interruption when a parameter is incorrect. (Please refer to the main description page of this API.) |  | FAILURE | interruption when this API function is called outside a kernel. |  | FAILURE | interruption when this API function is called outside a waiting instruction. |  
 
- See also
- svm_variable_delete 
- 
svm_kernel_get_current 
- 
svm_lock_new 
 
 
◆ svm_lock_writeguard_new()
This function locks a lock for write access. 
- Parameters
- 
  
    | [in] | svm | The SVM pointer passed as first argument of the callback function. |  | [in] | lock | The lock to acquire. |  | [in] | soft | The process is put in pause while waiting for the lock acquisition. |  
 
The lock is acquired for write access until the returned lock guard is freed/deleted. Please refer to the svm_variable_delete API function.
- Returns
- A write lock guard on the acquired lock.
- Note
- The soft parameter shall be set to FALSE when the lock is used at least once inside a scheduler, and should be set to TRUE otherwise.
- Exceptions
- 
  
    | FAILURE | interruption when a parameter is incorrect. (Please refer to the main description page of this API.) |  | FAILURE | interruption when this API function is called outside a kernel. |  | FAILURE | interruption when this API function is called outside a waiting instruction. |  
 
- See also
- svm_variable_delete 
- 
svm_kernel_get_current 
- 
svm_lock_new