aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/sys/win32/sys.c
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2014-12-19 10:53:27 +0100
committerLukas Larsson <[email protected]>2014-12-19 10:53:27 +0100
commit3e3ef7b16fa03a7b9f4e5376387750a69957719f (patch)
tree40d74a3d6ccd8a4faa5c7194979584fa67517ea1 /erts/emulator/sys/win32/sys.c
parenta4d72d2cae3a9bd3f0dccdb663f70d54a45fe10f (diff)
parentbd4b900c09308a6c3ab41e3a2070cb90410ee01d (diff)
downloadotp-3e3ef7b16fa03a7b9f4e5376387750a69957719f.tar.gz
otp-3e3ef7b16fa03a7b9f4e5376387750a69957719f.tar.bz2
otp-3e3ef7b16fa03a7b9f4e5376387750a69957719f.zip
Merge branch 'lukas/erts/crashdump_improvements/OTP-12377'
* lukas/erts/crashdump_improvements/OTP-12377: erts: Make main thread safe from pipe closed event erts: Improve crash dumps erts: Rename sys_sigset to sys_signal erts: Introduce thread suspend functions erts: Remove usage of QUANTIFY signal erts: Add support for thread names ets: Increase data available in crash dumps and ets:info erts: Start compilation of beam_emu earlier
Diffstat (limited to 'erts/emulator/sys/win32/sys.c')
-rw-r--r--erts/emulator/sys/win32/sys.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/erts/emulator/sys/win32/sys.c b/erts/emulator/sys/win32/sys.c
index 164ef95629..5d51659b4e 100644
--- a/erts/emulator/sys/win32/sys.c
+++ b/erts/emulator/sys/win32/sys.c
@@ -247,6 +247,27 @@ void erl_sys_args(int* argc, char** argv)
#endif
}
+/*
+ * Function returns 1 if we can read from all values in between
+ * start and stop.
+ */
+int
+erts_sys_is_area_readable(char *start, char *stop) {
+ volatile char tmp;
+ __try
+ {
+ while(start < stop) {
+ tmp = *start;
+ start++;
+ }
+ }
+ __except(EXCEPTION_EXECUTE_HANDLER)
+ {
+ return 0;
+ }
+ return 1;
+}
+
int erts_sys_prepare_crash_dump(int secs)
{
Port *heart_port;