doc/ja_JP.eucJP/man/man3/pthread_rwlock_wrlock.3
Jun Kuriyama d1534953b1 Change $Id$s to local id %Id%s.
Do not begin a line with single quote character.

Submitted by:	Kazuo Horikawa <k-horik@yk.rim.or.jp>
1999-12-11 00:51:14 +00:00

97 lines
3.2 KiB
Groff

.\" Copyright (c) 1998 Alex Nash
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %Id: pthread_rwlock_wrlock.3,v 1.1 1998/09/07 19:01:43 alex Exp %
.\"
.Dd August 4, 1998
.Dt PTHREAD_RWLOCK_WRLOCK 3
.Os
.Sh 名称
.Nm pthread_rwlock_wrlock ,
.Nm pthread_rwlock_trywrlock
.Nd 書込み用に読み書きロックを取得
.Sh 書式
.Fd #include <pthread.h>
.Ft int
.Fn pthread_rwlock_wrlock "pthread_rwlock_t *lock"
.Ft int
.Fn pthread_rwlock_trywrlock "pthread_rwlock_t *lock"
.Sh 解説
.Fn pthread_rwlock_wrlock
関数は、
.Fa lock
に対して書込みロックを取得できるようになるまでブロックされます。
.Fn pthread_rwlock_trywrlock
関数は同じアクションを実行しますが、ロックをすぐに取得できなくてもブロック
されません。
.Pp
呼び出しスレッドが呼び出しを行なう時点でロックをすでに取得している
場合、結果は不定になります。
.Sh システムの注意事項
書込み側の飢餓状態を避けるため、書込みが読込みより優先されます。
.Sh 戻り値
問題がない場合、
.Fn pthread_rwlock_wrlock
関数と
.Fn pthread_rwlock_trywrlock
関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。
.Sh 関連項目
.Xr pthread_rwlock_trywrlock 3 ,
.Xr pthread_rwlock_unlock 3 ,
.Xr pthread_rwlock_wrlock 3
.Sh 規格
.Fn pthread_rwlock_wrlock
関数と
.Fn pthread_rwlock_trywrlock
関数は、
.St -susv2
に準拠する見込みです。
.Sh エラー
.Fn pthread_rwlock_trywrlock
関数は、以下のような場合にエラーとなります。
.Bl -tag -width Er
.It Bq Er EBUSY
呼び出しスレッドが、ブロックせずにロックを取得できない場合。
.El
.Pp
.Fn pthread_rwlock_wrlock
関数と
.Fn pthread_rwlock_trywrlock
関数は、以下のような場合にエラーとなります。
.Bl -tag -width Er
.It Bq Er EDEADLK
呼び出しスレッドが、読み書きロック ( 読込み用か書込み用 ) を
すでに取得している場合。
.It Bq Er EINVAL
.Fa lock
で指定された値が正しくない場合。
.It Bq Er ENOMEM
メモリが不足しているため、ロックを初期化できない場合 ( 静的に
初期化されるロックのみに適用 ) 。
.El
.Sh 歴史
.Fn pthread_rwlock_wrlock
関数は、
.Fx 3.0
に追加されました。