csignal


1. Installing a Signal Handler

#include <csignal>

void signal_handler(int signal) {
  // Handle the signal
}

int main() {
  signal(SIGINT, signal_handler);  // Handle Ctrl+C (SIGINT)
  // ...
}

2. Raising a Signal

#include <csignal>

int main() {
  raise(SIGTERM);  // Send the SIGTERM signal to the current process
}

3. Blocking a Signal

#include <csignal>

int main() {
  sigset_t mask;  // Signal mask
  sigemptyset(&mask);
  sigaddset(&mask, SIGINT);  // Block Ctrl+C (SIGINT)
  sigprocmask(SIG_BLOCK, &mask, nullptr);
  // ...
}

4. Unblocking a Signal

5. Waiting for a Signal

6. Sending a Signal to a Parent Process

7. Sending a Signal to a Process Group

8. Checking if a Signal is Pending

9. Generating a Signal from an Async Event

10. Using a Thread-safe Signal Handler

11. Using a Signal Queue

12. Using a Timeout Signal

13. Using a Signal Blocker

14. Unblocking a Signal Using a Signal Blocker

15. Sending a Signal Using a Signal Blocker

16. Waiting for a Signal Using a Signal Blocker

17. Ignoring a Signal

18. Restricting a Signal to a Specific Thread

19. Using a Signal Hook

20. Using a Boost.Signal

21. Using a Qt Signal

22. Using a Poco Signal

23. Using a Signalslot Signal

24. Using a CMake Signal

25. Using a Ninja Signal

26. Using a Meson Signal

27. Generating a Signal from a Breakpoint

28. Generating a Signal from a Python Script

29. Using a Thread-safe Signal Handler in Python

30. Using a Timeout Signal in Python

31. Using a Signal Queue in Python

32. Using a Signal Blocker in Python

33. Sending a Signal Using a Signal Blocker in Python

34. Waiting for a Signal Using a Signal Blocker in Python

35. Ignoring a Signal in Python

36. Restricting a Signal to a Specific Thread in Python

37. Using a Signal Hook in Python

38. Using a Boost.Signal in Python

39. Using a Qt Signal in Python

40. Using a Poco Signal in Python

41. Using a Signalslot Signal in Python

42. Using a CMake Signal in Python

43. Using a Ninja Signal in Python

44. Using a Meson Signal in Python