Jump to content 日本-日本語

製品 >  ソフトウェア >  HP- UX Developer Edge

UNIX95のプログラミングとHP-UXのバイナリ互換性

nftw関数/sigpause関数/setpgrp関数
HP-UX/Integrityサーバー お問い合せ
コンテンツに進む

nftw関数


関数 nftw は、UNIX95 に準拠するよう変更されました。この変更は、nftw からアプリケーションの指定した関数に渡される 4 番目の引数で行なわれています。このパラメータは、Classic 環境では値呼びのパラメータであり、UNIX 95 環境では参照呼び (ポインタ) となります。

Classic版の nftw を使用するアプリケーションは、UNIX95 環境でコンパイルされたリロケータブルモジュールと混在させないでください。

sigpause関数


関数 sigpause は、UNIX95 に準拠するように変更されました。Classic 版ではシグナルマスクを引数として受け取ります。UNIX95 版ではシグナル番号を引数として受け取ります。

UNIX オペレーティングシステムが初めて導入されたとき、提供された固有のシグナルは 32 未満でした。年の経過とともに、この処理系は、各ビットで1つのシグナルを表わしながら、ビットマスクを介してシグナル情報をアプリケーションからシステムに渡す API を提供するようになってきました。long integer 宣言は少なくとも 32 ビット幅であることが保証されていたため、このビットマスクを実現するために使用されました。

もはや、カーネルがサポートするシグナル数はシグナルマスクによって表現できるシグナル数を超過しているため、この追加シグナルを有効にする関数を対象にして Classic 版の sigpause (または 32 ビットのシグナルマスクを使用するその他の関数) を使用しても適切に機能しません。
UNIX95のプログラミングとHP-UXのバイナリ互換性
UNIX95環境に合わせたシステムの設定
  コマンドによる
プログラミング 1
  コマンドによる
プログラミング 2
  コマンドによる
プログラミング 3
  動作環境
  プロセスシグナル
    nftw/sigpause/ setpgrp関数
  ライブラリファイルの混在
  付録
  関数の変化
  まとめ

setpgrp関数


setpgrp 関数は UNIX95 API に準拠するように変更されました。Classic 版の setpgrp では、セッション ID を変更しません。UNIX95 版の setpgrp では、プロセスグループリーダーがセッションリーダーを兼務しない場合、セッション ID に PID を設定します。

HP-UX の setsid のマニュアルページには、setpgrp は下位互換性だけを目的として提供されていることが数年前から明記されています。setpgrp の代わりに setsid 関数を使用するよう、すべてのアプリケーションを変更してください。setpgrp が好ましいインタフェースとはいえない理由については、関数 setpgrp がたどってきた変化の歴史を、本書付録の 「Setpgrp」 で参照してください。

目次に戻る 前のページへ 次のページへ

お問い合わせ

ご購入前のお問い合わせ


ご購入後のお問い合わせ

HPEサポートセンター
製品の標準保証でご利用いただける無償のサービスです。

ショールーム

ショールーム 導入をご検討のお客様へ
業務アプリケーションの継続・標準化・開発性とシステム担当者様、システム開発者様が抱える悩み・疑問に対する解決策実体験して頂けます。
印刷用画面へ
プライバシー ご利用条件・免責事項