pthread_rwlockattr_init 或 pthread_rwlockattr_destroy 子例程
用途
初始化和破坏读写锁属性对象。
库
线程库 (libpthreads.a)
语法
#include <pthread.h>
int pthread_rwlockattr_init (attr)
pthread_rwlockattr_t *attr;
int pthread_rwlockattr_destroy (attr)
pthread_rwlockattr_t *attr;描述
pthread_rwlockattr_init 子例程使用实现定义的所有属性的缺省值来初始化读写锁属性对象 attr 。 如果调用 pthread_rwlockattr_init 来指定已初始化的读写锁属性对象,那么未定义结果。
在读写锁属性对象被用于初始化一个或多个后,任何影响该属性对象的函数(包括析构函数)不会影响任何以前已初始化的读写锁。
pthread_rwlockattr_destroy 子例程删除读写锁属性对象。 在通过对 pthread_rwlockattr_init的另一个调用重新初始化该对象之前,未定义该对象的后续使用效果。 实现可能会导致 pthread_rwlockattr_destroy 将 attr 引用的对象设置为无效值。
参数
| 项 | 描述 |
|---|---|
| attr | 指定要初始化或销毁的读写锁属性对象。 |
返回值
如果成功,那么 pthread_rwlockattr_init 和 pthread_rwlockattr_destroy 子例程将返回零。 否则,将返回错误号以指示错误。
错误代码
在下列情况下, pthread_rwlockattr_init 子例程将失败:
| 项 | 描述 |
|---|---|
| ENOMEM | 内存不足,无法初始化读写锁属性对象。 |
在下列情况下, pthread_rwlockattr_destroy 子例程将失败:
| 项 | 描述 |
|---|---|
| EINVAL | attr 指定的值无效。 |