From: Jarkko Pöyry Date: Fri, 20 Mar 2015 22:40:33 +0000 (-0700) Subject: Avoid malloc in App::onCrash. X-Git-Tag: upstream/0.1.0~1849^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8d071f984dc0009c1ce3ba568ae24748bb88024e;p=platform%2Fupstream%2FVK-GL-CTS.git Avoid malloc in App::onCrash. Bug: 19517387 Change-Id: I50097263b2d732d070315ab08e2059daa94c6a9a --- diff --git a/framework/common/tcuApp.cpp b/framework/common/tcuApp.cpp index a0d733b..0981044 100644 --- a/framework/common/tcuApp.cpp +++ b/framework/common/tcuApp.cpp @@ -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(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.