diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2022-05-02 19:28:04 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2022-05-20 12:01:38 -0700 |
commit | 3d9e56aa6cc20a5a0822877e86a43e9a0affb503 (patch) | |
tree | 09cddf8faa33c393023434bc3ce00275b4ac476c /tests/auto/corelib/global/qnativeinterface | |
parent | 29dd43d5ab18ec01df0d173e974d261afd16a311 (diff) |
FatalSignalHandler: chain back to the original crash handler
If a previous handler was already installed, ensure it is called,
because there may be a reason why it was there. For example, the Android
ART adds a signal action to every fatal signal for logging purposes. We
do that by restoring the signal handler we had and re-raising the
signal.
If our handler was overridden by something else, then that handler was
already called, but will get uninstalled after our code runs. It won't
be a problem, because the application is exiting anyway.
[ChangeLog][QtTest][Behavior Change] On Unix, the QtTest code to
handle Unix/POSIX fatal signals will now call back to the original
handler that was installed, if there was one. This allows logging
frameworks (such as Android ART's), for example, to log the crash too.
Additionally, if there was no handler, the application should exit with
the correct signal instead of SIGABRT.
Fixes: QTBUG-97652
Pick-to: 6.3
Change-Id: Ifc4fca159b490d8d0b614d736e46caefcb903a4c
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'tests/auto/corelib/global/qnativeinterface')
0 files changed, 0 insertions, 0 deletions