Namespaces
Variants
Views
Actions

atomic_is_lock_free

From cppreference.com
< c‎ | atomic
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.

Contents

[edit] Parameters

obj - pointer to the atomic object to inspect

[edit] Return value

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

[edit] Notes

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

[edit] References

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

[edit] See also

indicates that the given atomic type is lock-free
(macro constant) [edit]
C++ documentation for atomic_is_lock_free