diff options
| author | Martin Hořeňovský | 2017-01-14 15:21:44 +0100 |
|---|---|---|
| committer | Martin Hořeňovský | 2017-01-14 15:21:44 +0100 |
| commit | ffc4a9dc143bc66d2e1fd883e1395a3397a68e9d (patch) | |
| tree | 5c598362c53935eb2adec2fce0dfb9af0a8a8513 /projects/SelfTest/ToStringVector.cpp | |
| parent | 7c8b93eac3e63397d334b91755321bfb2982e1d1 (diff) | |
| download | catch3-ffc4a9dc143bc66d2e1fd883e1395a3397a68e9d.tar.gz | |
If we receive a signal, we re-register ALL previous signal handlers.
This fixes the case when we pass signal to previously registered
handler, and it needs to transform the signal into different one.
Still problematic: What if the signal handler we replaced does not
terminate the application? We can end up in a weird state and loop
forever.
Possible solution: Deregister our signal handlers, CALL the previous
signal handler explicitly and if control returns, abort. This would
however complicate our code quite a bit, as we would have to parse the
sigaction we delegate to, decide whether to use signal handler or signal
action, etc...
Diffstat (limited to 'projects/SelfTest/ToStringVector.cpp')
0 files changed, 0 insertions, 0 deletions