From: <sv...@va...> - 2010-03-03 22:47:12
|
Author: cerion Date: 2010-03-03 22:46:49 +0000 (Wed, 03 Mar 2010) New Revision: 480 Log: added an ascii-art description of the flow of process control & xml log parsing Modified: branches/valkyrie_qt4port/objects/memcheck_object.cpp Modified: branches/valkyrie_qt4port/objects/memcheck_object.cpp =================================================================== --- branches/valkyrie_qt4port/objects/memcheck_object.cpp 2010-03-03 22:14:50 UTC (rev 479) +++ branches/valkyrie_qt4port/objects/memcheck_object.cpp 2010-03-03 22:46:49 UTC (rev 480) @@ -18,6 +18,29 @@ ** ****************************************************************************/ +/* +The Valgrind process control & log parsing goes like this: + +=== Happy flow === +start() -> vgproc ->(writes)-> XML_LOG + -> logpoller ->(triggers)-> readVgLog() <-(reads )<- XML_LOG + +vgproc ->(finished/died)-> processDone() ->(if parser done)-> DONE +readVgLog() ->(finished parsing log) ->(if vgproc done)-> DONE + +=== Exceptions === +processDone() ->(parser alive && vgproc error)-> stopProcess() +readVgLog() ->(parser error && vgproc alive)-> stopProcess() +User Input ->(Stop command)-> stop() -> stopProcess() + +stopProcess() + -> cleanup logpoller + -> cleanup vgproc + ->(QProc::terminate)->SIGTERM-> -> processDone() -> DONE + ->(timeout)-> killProc() ->(QtProc::kill)-> processDone() -> DONE +*/ + + //#include "config.h" #include "help/help_urls.h" #include "objects/memcheck_object.h" |