XL Fortran for AIX V8.1.1

ランゲージ・リファレンス

f_pthread_cleanup_push

この関数は、呼び出しスレッドにクリーンアップ・サブルーチンを登録するために使用できます。呼び出しスレッドの予期しない終了に対しては、その呼び出しスレッドが安全に終了できるように、システムが自動的にクリーンアップ・サブルーチンを実行します。引き数 cleanup は、ただ 1 つの引き数を予期するサブルーチンでなければなりません。それが実行される場合、引き数 arg は実引き数としてそのサブルーチンに渡されます。

引き数 arg は汎用引き数であり、任意のタイプやランクにすることができます。実引き数 arg は変数でなければならず、代入ステートメントの左に代入できなければなりません。ベクトル添え字を持つ配列セクションを引き数 arg に渡すと、結果は予測不能です。

実引き数 arg が配列セクションである場合、サブルーチン cleanup の対応する仮引き数は想定形状配列でなければなりません。そうでない場合、結果は予測できません。

実引き数 arg が、配列または配列セクションを指し示すポインター属性を持っている場合、サブルーチン cleanup 内の対応する仮引き数は、ポインター属性を持っているか、または想定形状配列でなければなりません。そうでない場合、結果は予測できません。

通常の実行パスの場合、この関数は f_pthread_cleanup_pop への呼び出しと組み合わせて使わなければなりません。

引き数 flag は、引き数 arg の特性を正確にシステムに伝えるために使用しなければなりません。

引き数 flag には、以下の定数のいずれか、あるいは以下の定数を組み合わせたものを値として指定できます。

FLAG_CHARACTER:
入り口サブルーチン cleanup がタイプ CHARACTER の引き数を、方法や形式に関係なく予期している場合は、このフラグ値を組み込んでそのことを示さなければなりません。ただし、サブルーチンが予期しているのが、タイプ CHARACTER の引き数を指し示した Fortran 90 ポインターであれば、FLAG_DEFAULT 値を代わりに組み込む必要があります。

FLAG_ASSUMED_SHAPE:
入り口サブルーチン cleanup が仮引き数を持ち、それが任意のランクの、想定形状配列である場合は、このフラグ値を組み込んでそのことを示さなければなりません。

FLAG_DEFAULT:
上記以外の場合には、このフラグ値が必要です。

戻りコード

この関数の実行中にエラーを検出すると、以下のいずれかのエラー・コードを戻します。

ENOMEM
システムは、このルーチンをプッシュするためのメモリーを割り振ることができません。

EAGAIN
システムは、このルーチンをプッシュするためのリソースを割り振ることができません。

EINVAL
引き数 flag が無効です。

integer function f_pthread_cleanup_push(cleanup, flag, arg)
    external cleanup
    integer(4), intent(in):: flag
end function


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]