mtx_trylock
From cppreference.com
                    
                                        
                    
                    
                                                            
                    | Defined in header  <threads.h> | ||
| int mtx_trylock( mtx_t *mutex ); | (since C11) | |
Tries to lock the mutex pointed to by mutex without blocking. Returns immediately if the mutex is already locked.
Prior calls to mtx_unlock on the same mutex synchronize-with this operation (if this operation succeeds), and all lock/unlock operations on any given mutex form a single total order (similar to the modification order of an atomic)
Parameters
| mutex | - | pointer to the mutex to lock | 
Return value
thrd_success if successful, thrd_busy if the mutex has already been locked, thrd_error if an error occurs.
References
- C11 standard (ISO/IEC 9899:2011):
- 7.26.4.5 The mtx_trylock function (p: 382)
 
See also
| (C11) | blocks until locks a mutex (function) | 
| (C11) | blocks until locks a mutex or times out (function) | 
| (C11) | unlocks a mutex (function) | 
| C++ documentation for try_lock | |