From 2c4b60fe24bfbccb3fa1553aed1065ce072343e1 Mon Sep 17 00:00:00 2001 From: Alexis Christoforides Date: Fri, 9 Aug 2019 10:31:57 +0300 Subject: [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. --- runtime/bin/mono-hang-watchdog.in | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 runtime/bin/mono-hang-watchdog.in (limited to 'runtime') 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 -- cgit v1.2.3