diff options
author | Alexis Christoforides <alexis@thenull.net> | 2019-08-09 10:31:57 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-09 10:31:57 +0300 |
commit | 2c4b60fe24bfbccb3fa1553aed1065ce072343e1 (patch) | |
tree | 4bb49c6a8dc60edb3cb2ee8ac1b01ca774e2df7f /runtime | |
parent | 6a459c25d771dec436bb6a8785c683f6b15fe6f7 (diff) |
[merp] Use a separate program as the hang supervisor. (#15715)
* [merp] Use a separate program as the hang supervisor.
Fixes https://github.com/mono/mono/issues/15646
macOS does not like signals being sent from the forked supervisor process, possibly towards anywhere but definitely when sent to the parent process. The following message is currently spewed after the supervisor process attempting to send a SIGSEGV to a hanged Mono process:
"The process has forked and you cannot use this CoreFoundation functionality safely. You MUST exec()."
We follow that direction and introduce a new binary that, when available in the mono executable's binary directory, is used to abort the parent process for us.
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/bin/mono-hang-watchdog.in | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/runtime/bin/mono-hang-watchdog.in b/runtime/bin/mono-hang-watchdog.in new file mode 100644 index 00000000000..9862038fccb --- /dev/null +++ b/runtime/bin/mono-hang-watchdog.in @@ -0,0 +1,3 @@ +#! /bin/sh +r='@mono_build_root@' +exec "$r/tools/mono-hang-watchdog/mono-hang-watchdog" "$@"
\ No newline at end of file |