Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/xiph/opus.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Asteborg <maastebo@microsoft.com>2020-06-08 07:16:12 +0300
committerJean-Marc Valin <jmvalin@jmvalin.ca>2020-06-11 20:43:40 +0300
commitfe00017a06ddf9314ce79a83a60ae6333769bb24 (patch)
tree7d84f78503db647d66c2a17c6b968fcd4b7cee6f
parentf014317fb10448e5f4b2f80eb819f6ffdf7815f5 (diff)
Disable message box when calling abort(). The message box is causing hangs in tests.
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
-rw-r--r--celt/arch.h3
-rw-r--r--silk/typedef.h3
-rw-r--r--tests/test_opus_common.h3
3 files changed, 9 insertions, 0 deletions
diff --git a/celt/arch.h b/celt/arch.h
index 08b07db5..3845c3a0 100644
--- a/celt/arch.h
+++ b/celt/arch.h
@@ -73,6 +73,9 @@ __attribute__((noreturn))
void celt_fatal(const char *str, const char *file, int line)
{
fprintf (stderr, "Fatal (internal) error in %s, line %d: %s\n", file, line, str);
+#if defined(_MSC_VER)
+ _set_abort_behavior( 0, _WRITE_ABORT_MSG);
+#endif
abort();
}
#endif
diff --git a/silk/typedef.h b/silk/typedef.h
index 97b7e709..793d2c0c 100644
--- a/silk/typedef.h
+++ b/silk/typedef.h
@@ -67,6 +67,9 @@ __attribute__((noreturn))
static OPUS_INLINE void _silk_fatal(const char *str, const char *file, int line)
{
fprintf (stderr, "Fatal (internal) error in %s, line %d: %s\n", file, line, str);
+#if defined(_MSC_VER)
+ _set_abort_behavior( 0, _WRITE_ABORT_MSG);
+#endif
abort();
}
# define silk_assert(COND) {if (!(COND)) {silk_fatal("assertion failed: " #COND);}}
diff --git a/tests/test_opus_common.h b/tests/test_opus_common.h
index 235cf1c1..d96c7d84 100644
--- a/tests/test_opus_common.h
+++ b/tests/test_opus_common.h
@@ -75,6 +75,9 @@ static OPUS_INLINE void _test_failed(const char *file, int line)
fprintf(stderr,"Please report this failure and include\n");
fprintf(stderr,"'make check SEED=%u fails %s at line %d for %s'\n",iseed,file,line,opus_get_version_string());
fprintf(stderr,"and any relevant details about your system.\n\n");
+#if defined(_MSC_VER)
+ _set_abort_behavior( 0, _WRITE_ABORT_MSG);
+#endif
abort();
}
#define test_failed() _test_failed(__FILE__, __LINE__);