ブックマーク / ngyuki.hatenablog.com (1)

  • PHP のシグナルハンドラのいろいろ - ngyukiの日記

    ここ数年、PHP でシグナルを使う機会が多かったので、気づいた点などを整理してみます。 当のシグナルハンドラと PHP のシグナルハンドラ pcntl_signal() で登録する PHP のシグナルハンドラは、当の意味でのシグナルハンドラではありません。なので、シグナルハンドラから非同期シグナルで安全では無い関数でも呼び出すことが出来ます。 <?php declare (ticks = 1); pcntl_signal(SIGTERM, function ($signo) { printf("%d -> %s\n", $signo, "だが断る"); }); posix_kill(posix_getpid(), SIGTERM); exit(0); 当のシグナルハンドラは次の箇所で定義されており、所謂リンクドリストに受信したシグナル番号を記録しています。 pcntl.c:1216

    PHP のシグナルハンドラのいろいろ - ngyukiの日記
    miyahan
    miyahan 2016/07/08
  • 1