Hi Robert, all I've discovered that OpenThreads::Mutex is reursive on win32 while it is not on linux using pthreads. So I've gone and implemented what Mutex::MutexType suggests. That is - OpenThreads::Mutex is recursive only if you want them to.
For normal usage of Mutex nothing changes, but for my (I guess) special usage (limit rate) this change makes the Mutex class behave the same on linux and win32 Also - there are code parts in src/OpenThreads/win32/Win32Mutex.cpp that are never used unless you manually uncomment a define in Win32MutexPrivateData.h (USE_CRITICAL_SECTION). I can see from the log (r5443) that these are the remnants from a submission by Paul Martz when he switched to using EnterCriticalSection instead of the old implementation. This is how I myself implement new functionality - by ifdef'ing it in parallell to the old code (and sometimes it is left that way until my fellow developers questions my sanity and kindly ask me to clean up). That submission got merged in on 2006-07-17 = seems to be working ;) I suggest we remove the old code now and that I do it if you think it's appropriate. cheers Mattias
win32threadsfix.tgz
Description: GNU Zip compressed data
_______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
