endutxent() - utmpx データベースのクローズ

標準

標準/拡張機能 C/C++ 依存項目

XPG4.2
Single UNIX Specification、バージョン 3

両方  

形式

#define _XOPEN_SOURCE_EXTENDED 1
#include <utmpx.h>

void endutxent(void);

機能説明

endutxent() 関数は、現行スレッド用の utmpx データベースをクローズ します。このデータベースは、getutxent()、getutxid()、getutxline()、または pututxline() でオープンできます。

endutxent() 関数は、スレッド固有のデータを処理するので、マルチスレッド化したアプリケーションで使用しても安全です。同じプロセスの複数のスレッドがデータベースをオープンすると、各スレッドは、異なるファイル記述子を使用してデータベースをオープンします。スレッドのデータベース・ファイル記述子は、呼び出しスレッドが終了したか、あるいは呼び出しスレッドによって endutxent() 関数が呼び出されたときにクローズされます。

endutxent() が呼び出された後で、getutxline()、getutxid()、getutxent()、または pututxline() が戻した データを、プログラムが参照してはなりません (ストレージは、既に解放 されています)。

getuxline()、getutxent()、getutxid()、または pututxline() のあと で、utmpx データベースはオープンしています。当該プロセスが endutxent() か __utmpxname() を発行 して utmpx データベースをクローズするまで、または当該プロセスが終了する までは、ほかのプロセスが pututxline() をこの utmpx データベースに対して 実行することはできません。exit() に失敗したり、endutxent() または __utmpxname() の発行に失敗 したときに、メインの /etc/utmpx データベースがユーザーのプロセスで オープンしていると、z/OS®UNIX ユーザーのログインまたはログアウトの すべてをハングさせることができます。endutxent() は、デフォルトに戻してオープンするために、次の utmpx ファイルの名前をリセットします。非標準 utmpx ファイル名を使用して utmpx 命令を追加実行する場合 は、endutxent() で utmpx データベースをクローズして から __utmpxname() を再発行する必要があります。

戻り値

endutxent() は、値を戻しません。

関連情報