diff -r c67de7b29582 -r 9eeecb73a5d4 imgtools/romtools/rofsbuild/r_rofs.cpp --- a/imgtools/romtools/rofsbuild/r_rofs.cpp Wed Nov 17 13:47:08 2010 +0800 +++ b/imgtools/romtools/rofsbuild/r_rofs.cpp Wed Nov 17 14:05:07 2010 +0800 @@ -263,6 +263,7 @@ } class Worker : public boost::thread { public: + static boost::mutex iOutputMutex; static void thrd_func(E32Rofs* rofs){ CBytePair bpe; @@ -274,6 +275,8 @@ //no symbol for hidden file if(rofs->iSymGen && !p->node->iEntry->iHidden) rofs->iSymGen->AddFile(p->node->iEntry->iFileName,(p->node->iEntry->iCompressEnabled|| p->node->iEntry->iExecutable)); + boost::mutex::scoped_lock lock(iOutputMutex); + p->node->FlushLogMessages(); } p = rofs->GetFileNode(deferred); } @@ -288,6 +291,8 @@ } }; +boost::mutex Worker::iOutputMutex; + TPlacingSection* E32Rofs::GetFileNode(bool &aDeferred) { //get a node from the node list, the node list is protected by mutex iMuxTree. //The iMuxTree also helps to make sure the order in iVPS is consistent with the node list.