96 lines
		
	
	
	
		
			3.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
	
		
			3.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .\" Copyright (c) 1996 John Birrell <jb@cimlogic.com.au>.
 | |
| .\" 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.
 | |
| .\" 3. All advertising materials mentioning features or use of this software
 | |
| .\"    must display the following acknowledgement:
 | |
| .\"	This product includes software developed by John Birrell.
 | |
| .\" 4. Neither the name of the author nor the names of any co-contributors
 | |
| .\"    may be used to endorse or promote products derived from this software
 | |
| .\"    without specific prior written permission.
 | |
| .\"
 | |
| .\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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 REGENTS 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.
 | |
| .\"
 | |
| .\" %FreeBSD: src/lib/libc_r/man/pthread_setspecific.3,v 1.6.2.5 2001/12/17 10:08:26 ru Exp %
 | |
| .\"
 | |
| .\" $FreeBSD$
 | |
| .Dd April 4, 1996
 | |
| .Dt PTHREAD_SETSPECIFIC 3
 | |
| .Os
 | |
| .Sh 名称
 | |
| .Nm pthread_setspecific
 | |
| .Nd スレッド固有のデータ値の設定
 | |
| .Sh ライブラリ
 | |
| .Lb libc_r
 | |
| .Sh 書式
 | |
| .In pthread.h
 | |
| .Ft int
 | |
| .Fn pthread_setspecific "pthread_key_t key" "const void *value"
 | |
| .Sh 解説
 | |
| .Fn pthread_setspecific
 | |
| 関数は、以前の
 | |
| .Fn pthread_key_create
 | |
| の呼び出しを通して入手した
 | |
| .Fa key
 | |
| に、スレッド固有の値を関連付けます。
 | |
| 異なるスレッドは同じキーに対して異なる値を、結びつけることができます。
 | |
| これらの値は、通常は呼び出しているスレッドによって既に予約されて、
 | |
| 動的に割り当てられたメモリブロックを指すポインタです。
 | |
| .Pp
 | |
| .Fn pthread_key_create
 | |
| から入手したのではない
 | |
| .Fa key
 | |
| の値を伴った、または
 | |
| .Fn pthread_key_delete
 | |
| によって 
 | |
| .Fa key 
 | |
| が削除された後での、
 | |
| .Fn pthread_setspecific
 | |
| の呼び出しの結果は未定義です。
 | |
| .Pp
 | |
| .Fn pthread_setspecific
 | |
| はスレッド固有のデータのデストラクタ関数から呼び出されることがあります。
 | |
| しかしながら、これは記憶領域を失ったり、
 | |
| 無限ループに陥ったりすることがあります。
 | |
| .Sh 戻り値
 | |
| 問題がない場合は、
 | |
| .Fn pthread_setspecific
 | |
| 関数は 0 を返します。
 | |
| 問題がある場合は、そのエラーを示すためにエラー番号が返されます。
 | |
| .Sh エラー
 | |
| .Fn pthread_setspecific
 | |
| は以下の場合に失敗します。
 | |
| .Bl -tag -width Er
 | |
| .It Bq Er ENOMEM
 | |
| .Fa key
 | |
| と関連付けるための値の十分なメモリがありません。
 | |
| .It Bq Er EINVAL
 | |
| .Fa key
 | |
| の値が無効です。
 | |
| .El
 | |
| .Sh 関連項目
 | |
| .Xr pthread_getspecific 3 ,
 | |
| .Xr pthread_key_create 3 ,
 | |
| .Xr pthread_key_delete 3
 | |
| .Sh 規格
 | |
| .Fn pthread_setspecific
 | |
| は
 | |
| .St -p1003.1-96
 | |
| に適合しています。
 |