.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .\" .\" Japanese Version Copyright (c) 2012 Akihiro MOTOKI .\" all rights reserved. .\" Translated 2012-05-03, Akihiro MOTOKI .\" Updated 2013-07-17, Akihiro MOTOKI .\" Updated 2013-07-31, Akihiro MOTOKI .\" .TH PTHREAD_ATTR_SETINHERITSCHED 3 2013\-04\-19 Linux "Linux Programmer's Manual" .SH 名前 pthread_attr_setinheritsched, pthread_attr_getinheritsched \- スレッド属性オブジェクトの inherit\-scheduler 属性の設定/取得を行う .SH 書式 .nf \fB#include \fP \fBint pthread_attr_setinheritsched(pthread_attr_t *\fP\fIattr\fP\fB,\fP \fB int \fP\fIinheritsched\fP\fB);\fP \fBint pthread_attr_getinheritsched(pthread_attr_t *\fP\fIattr\fP\fB,\fP \fB int *\fP\fIinheritsched\fP\fB);\fP .sp \fI\-pthread\fP でコンパイルしてリンクする。 .fi .SH 説明 \fBpthread_attr_setinheritsched\fP() 関数は、 \fIattr\fP が参照するスレッド属性オブジェクトの inherit\-scheduler 属性を \fIinheritsched\fP で指定された値に設定する。 inherit\-scheduler 属性により、スレッド属性オブジェクト \fIattr\fP を使って作成されるスレッドが、呼び出したスレッドのスケジューリング属性を継承するか、 \fIattr\fP からスケジューリング属性を取得するかが決定される。 次に挙げるスケジューリング属性は inherit\-scheduler 属性の影響を受ける: スケジューリングポリシー (\fBpthread_attr_setschedpolicy\fP(3))、 スケジューリング優先度 (\fBpthread_attr_setschedparam\fP(3))、 contention scope (\fBpthread_attr_setscope\fP(3))。 以下の値を \fIinheritsched\fP に指定できる。 .TP \fBPTHREAD_INHERIT_SCHED\fP \fIattr\fP を使って作成されたスレッドは、 スレッドを作成するスレッドからスケジューリング属性を継承する。 \fIattr\fP 内のスケジューリング属性は無視される。 .TP \fBPTHREAD_EXPLICIT_SCHED\fP .\" FIXME what are the defaults for scheduler settings? \fIattr\fP を使って作成されたスレッドは、スレッド属性オブジェクトで 指定された値からスケジューリング属性を取得する。 .PP 新たに初期化されたスレッド属性オブジェクトの inherit\-scheduler 属性のデフォルト設定は \fBPTHREAD_INHERIT_SCHED\fP である。 \fBpthread_attr_getinheritsched\fP() は、 スレッド属性オブジェクト \fIattr\fP の inherit\-scheduler 属性を \fIinheritsched\fP が指すバッファに入れて返す。 .SH 返り値 成功すると、これらの関数は 0 を返す。 エラーの場合、0 以外のエラー番号を返す。 .SH エラー \fBpthread_attr_setinheritsched\fP() は以下のエラーで失敗する場合がある。 .TP \fBEINVAL\fP \fIinheritsched\fP に無効な値が指定された。 .PP .\" .SH VERSIONS .\" Available since glibc 2.0. POSIX.1\-2001 では、 \fBpthread_attr_setinheritsched\fP() に関して エラー \fBENOTSUP\fP ("サポートされていない値を属性に設定しようとした") も追加で規定されている。 .SH 準拠 POSIX.1\-2001. .SH バグ .\" FIXME . Track status of the following bug: .\" http://sourceware.org/bugzilla/show_bug.cgi?id=7007 glibc 2.8 の時点では、スレッド属性オブジェクトが \fBpthread_attr_init\fP(3) を使って初期化された場合、 スレッド属性オブジェクトのスケジューリングポリシーが \fBSCHED_OTHER\fP に、 スケジューリング優先度が 0 に設定される。一方、その後 inherit\-scheduler 属性に \fBPTHREAD_EXPLICIT_SCHED\fP が設定されると、このスレッド属性オブジェクトを使って作成されたスレッドでは、スレッドを作成するスレッドのスケジューリング属性が間違って継承されてしまう。 \fBpthread_create\fP(3) を呼び出す前にスケジューリングポリシー属性かスケジューリング優先度属性のどちらかが明示的に設定された場合には、 このバグは発生しない。 .SH 例 \fBpthread_setschedparam\fP(3) を参照。 .SH 関連項目 .ad l .nh \fBsched_setscheduler\fP(2), \fBpthread_attr_init\fP(3), \fBpthread_attr_setschedparam\fP(3), \fBpthread_attr_setschedpolicy\fP(3), \fBpthread_attr_setscope\fP(3), \fBpthread_create\fP(3), \fBpthread_setschedparam\fP(3), \fBpthread_setschedprio\fP(3), \fBpthreads\fP(7) .SH この文書について この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.65 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。