2

コードの先頭でsigactionを呼び出すと、

sigaction(SIGPIPE, &pipe_act, NULL);

sigpipeを受け取った場合、pipe_actの実行後、インストールされているハンドラーはpipe_Actのままですか、それともデフォルトのハンドラーがsigpipeに自動的に設定されますか?

4

1 に答える 1

3

pipe_act->sa_flagsフラグ( )にが含まれるかどうかによって異なりますSA_RESETHAND。はいの場合、シグナルハンドラーは「ワンショット」であり、呼び出された後に削除されます(つまり、ハンドラーはデフォルトハンドラーにリセットされます)が、そうでない場合は、手動で変更するまでハンドラーはそのまま残ります。

于 2012-09-26T09:07:34.597 に答える