Hi,

the Poco::Mutex class is a recursive mutex on all platforms (unless 
there is a bug in the Poco code) so locking the same mutex multiple 
times within one thread shouldn't be a problem. What happens exactly in 
case 2, a deadlock? Could you post the stacktrace?

If it solves your problem, I wouldn't mind moving the logging code in 
the CodeCache constructor to berryInternalPlatform.cpp, where a 
CodeCache instance is created.

- Sascha

On 11/19/2012 10:18 AM, Clarkson, Matt wrote:
> Hi there,
>
> following Sascha's recommendations, I changed our project structure to have 
> multiple applications, with various combinations of plugins using this:
> http://sourceforge.net/mailarchive/forum.php?thread_name=3EB93D96-3F6F-4B8F-8293-3F72B7D56D56%40live.ucl.ac.uk&forum_name=mitk-users
>
> this appeared to work nicely.... HOWEVER, I now have an exception from here:
> https://github.com/NifTK/MITK/blob/master/Utilities/Poco/Foundation/include/Poco/Mutex_POSIX.h#L82
>
> Basically caused by:
> https://github.com/NifTK/MITK/blob/master/BlueBerry/Bundles/org.blueberry.osgi/src/internal/berryCodeCache.cpp#L33
>
> It appears that on startup, the platform tries to start a plugin cache at 
> m_UserPath/bb-plugin_cache and the CodeChache constructor is going an 
> InternalPlatform::GetInstance() which fails as the InternalPlatform::m_Mutex 
> is already locked.
> It looks to me like the top of the InternalPlatform::Initialize method locks 
> m_Mutex, so that when the CodeCache tries to go 
> InternalPlatform::GetInstance() the m_Mutex is already locked.
>
> Is that right?
>
> Also, I have (real path names ommitted):
>
> 1. ScientificLinux : 
> /home/clarkson/build/MyProject-SuperBuild/MyProject-build/bin/MyApp
> 2. ScientificLinux : /home/clarkson/install/MyProject/bin/MyApp
> 3. Mac SnowLeopard : 
> /home/clarkson/build/MyProject-SuperBuild/MyProject-build/bin/MyApp.app/Contents/MacOSX
> 4. Mac SnowLeopard : /home/clarkson/install/MyProject/MyApp.app
>
> 1,3 and 4 work. It is only 2 that fails. i.e. the installed version of the 
> Scientific Linux build fails.
> I also believe that on Windows, it all works, but I don't have a Windows 
> build to hand right now.
>
> Any help would be totally appreciated :-)
>
> M
>
>
>
> ------------------------------------------------------------------------------
> Monitor your physical, virtual and cloud infrastructure from a single
> web console. Get in-depth insight into apps, servers, databases, vmware,
> SAP, cloud infrastructure, etc. Download 30-day Free Trial.
> Pricing starts from $795 for 25 servers or applications!
> http://p.sf.net/sfu/zoho_dev2dev_nov
> _______________________________________________
> mitk-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mitk-users


------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users

Reply via email to