Avoid malloc in App::onCrash.
authorJarkko Pöyry <jpoyry@google.com>
Fri, 20 Mar 2015 22:40:33 +0000 (15:40 -0700)
committerJarkko Poyry <jpoyry@google.com>
Fri, 20 Mar 2015 23:56:31 +0000 (23:56 +0000)
Bug: 19517387
Change-Id: I50097263b2d732d070315ab08e2059daa94c6a9a

framework/common/tcuApp.cpp

index a0d733b..0981044 100644 (file)
@@ -176,18 +176,22 @@ void App::onWatchdogTimeout (void)
 
 static void writeCrashToLog (void* userPtr, const char* infoString)
 {
+       // \note THIS IS CALLED BY SIGNAL HANDLER! CALLING MALLOC/FREE IS NOT ALLOWED!
        TestLog* log = static_cast<TestLog*>(userPtr);
-       *log << TestLog::Message << infoString << TestLog::EndMessage;
+       log->writeMessage(infoString);
 }
 
 static void writeCrashToConsole (void* userPtr, const char* infoString)
 {
+       // \note THIS IS CALLED BY SIGNAL HANDLER! CALLING MALLOC/FREE IS NOT ALLOWED!
        DE_UNREF(userPtr);
-       print("%s", infoString);
+       qpPrint(infoString);
 }
 
 void App::onCrash (void)
 {
+       // \note THIS IS CALLED BY SIGNAL HANDLER! CALLING MALLOC/FREE IS NOT ALLOWED!
+
        if (!m_crashLock.tryLock() || m_crashed)
                return; // In crash handler already.