atomic_is_lock_free

Defined in header <stdatomic.h>
_Bool atomic_is_lock_free( const volatile A* obj );
(since C11)

Determines if the atomic operations on all objects of the type A (the type of the object pointed to by obj) are lock-free. In any given program execution, the result of calling atomic_is_lock_free is the same for all pointers of the same type.

This is a generic function defined for all atomic object types A. The argument is pointer to a volatile atomic type to accept addresses of both non-volatile and volatile (e.g. memory-mapped I/O) atomic variables.

Parameters

obj - pointer to the atomic object to inspect

Return value

true if the the operations on all objects of the type A are lock-free, false otherwise.

Notes

C11, as published, specified that this function is per-object, not per-type. This was corrected by DR 465.

References

  • C11 standard (ISO/IEC 9899:2011):
    • 7.17.5.1 The atomic_is_lock_free generic function (p: 280)

See also

indicates that the given atomic type is lock-free
(macro constant)
C++ documentation for atomic_is_lock_free
doc_C_Language
2016-10-10 18:34:40
Comments
Leave a Comment

Please login to continue.