Redhat Enterprise Linux/3/thread
Redhat Enterprise Linux 3 - thread
Red Hat Enterprise Linux 3 には、Linux用の新しいPOSIXスレッド実装の
Native POSIXスレッドライブラリ(Native POSIX Thread Library - NPTL)が含まれます。
このライブラリはパフォーマンスの改善とスケーラビリティの向上を提供します。
このスレッドライブラリは古いLinuxThreads実装とバイナリ互換を持てる様デザインされています。
但し、LinuxThreads実装が POSIX基準から離脱する部分に依存するアプリケーションには修正が必要です。
注意に値する差異には次のような項目があります:
- 信号処理は、スレッド単位信号処理からPOSIXプロセス信号処理へと変更されています。
- getpid()は全てのスレッド内で同じ値を返送します。
- pthread_atforkに登録されているスレッド処理は、vfork()を使用中なら実行されません。
- マネージャスレッドがありません。
NPTLで問題がある既知のアプリケーションは次を含みます:
- Sun JRE バージョン1.4.1以前のもの
- IBM JRE
アプリケーションがNPTLで正常に動作しない場合は、次の環境変数を設定することにより、
古いLinuxThreads実装を使用して動作できるようになります。
LD_ASSUME_KERNEL=<kernel-version>
以下のバージョンが利用可能です。
errno、h_errno、_res、を使用するソフトウェアは、使用する前にそれぞれ適切なヘッダーファイル
(errno.h、netdb.h、 resolv.h)を#includeしなければなりません。
しかし、ソフトウェアが調整されるまで、回避方法としてLD_ASSUME_KERNEL=2.4.19を使用することができます。