Hello Patrick,

Patrick Dähne wrote:
> Hello Carsten,
> 
> thanks for your efforts, but removing the static buffer unfortunately  
> does not help much.
> 
> The static buffer is only one part of the problem. The other part is  
> the underlying output stream, i.e. the following lines inside  
> "Log::doLog()":
> 
> std::ostream& os          = *this; // VC71 work around by Chad Austin.
> os << buffer;
> os << std::flush;
> 
> The output stream of course is also not thread-safe.

you are right, I was somewhat optimistically hoping that this was 
actually locked internally (not because of standards requirements, but 
as a quality of implementation issue), but that is not the case.

> There is no simple solution to fix this whole issue. That's why I made  
> this post instead of fixing it myself. We either have to
> 
> - redesign the completely overengineered OSG::Lock class, or
> - redesign the completely overengineered OSG::Log class.

I see. I'm still optimistic that an effective but simple solution can be 
found, I'll keep you (and everyone else on the list, of course) posted,

        Carsten

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Opensg-core mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-core

Reply via email to