![]() |
![]() |
![]() |
![]() |
iofunc_attr_lock()
Lock the attribute structure
Synopsis:
#include <sys/iofunc.h> int iofunc_attr_lock( iofunc_attr_t *attr );
Arguments:
- attr
- A pointer to the iofunc_attr_t structure that you want to lock.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The iofunc_attr_lock() function locks the attribute structure that attr points to, preventing other threads in the resource manager from changing information.
Call this function (or iofunc_attr_trylock()) before you make any modifications to the attribute structure. After you're finished making modifications, call iofunc_attr_unlock() to release the lock.
Note that this is a counting locking mechanism. This means that a given thread can lock the attributes structure multiple times; it must then unlock the attributes structure a corresponding number of times in order to have the attributes structure considered unlocked. If another thread attempts to lock the structure while a thread has the structure locked, the other thread blocks.
Returns:
- EOK
- Success.
- EAGAIN
- On the first use, all kernel mutex objects were in use.
Classification:
| Safety: | |
|---|---|
| Cancellation point | Yes |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |
See also:
iofunc_attr_init(), iofunc_attr_t, iofunc_attr_trylock(), iofunc_attr_unlock()
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)