diff -r df89378e9223 -r 7b7f0409fc00 imgtools/romtools/rofsbuild/r_rofs.cpp --- a/imgtools/romtools/rofsbuild/r_rofs.cpp Tue Nov 30 13:59:58 2010 +0800 +++ b/imgtools/romtools/rofsbuild/r_rofs.cpp Tue Nov 30 14:05:41 2010 +0800 @@ -266,6 +266,7 @@ } class Worker : public boost::thread { public: + static boost::mutex iMutexOut; static void thrd_func(E32Rofs* rofs){ CBytePair bpe; @@ -282,6 +283,9 @@ rofs->iSymGen->AddEntry(tmpEntry); delete[] fullsystemname; } + iMutexOut.lock(); + p->node->FlushLogMessages(); + iMutexOut.unlock(); } p = rofs->GetFileNode(deferred); } @@ -296,6 +300,8 @@ } }; +boost::mutex Worker::iMutexOut; + 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.