Jelajahi Sumber

Flush nout before inducing crash in assert-abort

rdb 9 tahun lalu
induk
melakukan
637767fec8
1 mengubah file dengan 3 tambahan dan 0 penghapusan
  1. 3 0
      dtool/src/prc/notify.cxx

+ 3 - 0
dtool/src/prc/notify.cxx

@@ -405,6 +405,9 @@ assert_failure(const char *expression, int line,
   // so we can guarantee it has already been constructed.
   // so we can guarantee it has already been constructed.
   ALIGN_16BYTE ConfigVariableBool assert_abort("assert-abort", false);
   ALIGN_16BYTE ConfigVariableBool assert_abort("assert-abort", false);
   if (assert_abort) {
   if (assert_abort) {
+    // Make sure the error message has been flushed to the output.
+    nout.flush();
+
 #ifdef WIN32
 #ifdef WIN32
     // How to trigger an exception in VC++ that offers to take us into
     // How to trigger an exception in VC++ that offers to take us into
     // the debugger?  abort() doesn't do it.  We used to be able to
     // the debugger?  abort() doesn't do it.  We used to be able to