Skip to content

Latest commit

 

History

History
49 lines (39 loc) · 888 Bytes

File metadata and controls

49 lines (39 loc) · 888 Bytes

raise

  • csignal[meta header]
  • std[meta namespace]
  • function[meta id-type]
namespace std {
  int raise(int sig);
}

概要

現在のプログラムにシグナルを送信する。

引数

  • sig: 送信するシグナル番号

戻り値

正常に終了した場合は0を返す。 それ以外の場合は非ゼロの値を返す。

備考

signal関数などにより、シグナルハンドラが呼び出された場合、それが終了するまでこの関数は戻らない。

#include <iostream>
#include <csignal>

volatile std::sig_atomic_t got_signal = 0;

void signal_handler(int signum) {
  got_signal = 1;
}

int main (){
  std::signal(SIGABRT, signal_handler);
  std::raise(SIGABRT);
  if (got_signal)
    std::cout << "SIGABRT" << std::endl;
  return 0;
}
  • std::raise[color ff0000]

出力例

SIGABRT