最終更新日時(UTC):
が更新

履歴 編集

macro
<csignal>

SIG_ERR

#define SIG_ERR see below

概要

signal関数の戻り値で、シグナルハンドラの設定に失敗したことを示す値。

signal関数が失敗した場合、この値が返される。

#include <csignal>
#include <iostream>
#include <thread>
#include <chrono>

volatile std::sig_atomic_t flag = 0;

void signal_handler(int sig)
{
  flag = 1;
}

int main()
{
  if (std::signal(SIGINT, signal_handler) == SIG_ERR) {
    std::cerr << "Failed to set signal handler" << std::endl;
    return 1;
  }
  std::cout << "Signal handler set successfully" << std::endl; 
  while (!flag) {
    std::this_thread::sleep_for(std::chrono::milliseconds(100));
  }
  return 0;
}

出力例

Signal handler set successfully

関連項目