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_destroyattr 引用的对象设置为无效值。

参数

描述
attr 指定要初始化或销毁的读写锁属性对象。

返回值

如果成功,那么 pthread_rwlockattr_initpthread_rwlockattr_destroy 子例程将返回零。 否则,将返回错误号以指示错误。

错误代码

在下列情况下, pthread_rwlockattr_init 子例程将失败:

描述
ENOMEM 内存不足,无法初始化读写锁属性对象。

在下列情况下, pthread_rwlockattr_destroy 子例程将失败:

描述
EINVAL attr 指定的值无效。