#include "Utils_ORB_INIT.hxx"
#include "Utils_SINGLETON.hxx"
+pthread_mutex_t SALOMEDS_StudyBuilder::_remoteBuilderMutex;
+
SALOMEDS_StudyBuilder::SALOMEDS_StudyBuilder(SALOMEDSImpl_StudyBuilder* theBuilder)
{
_isLocal = true;
SALOMEDS_StudyBuilder::SALOMEDS_StudyBuilder(SALOMEDS::StudyBuilder_ptr theBuilder)
{
+ pthread_mutex_lock( &_remoteBuilderMutex );
_isLocal = false;
_local_impl = NULL;
_corba_impl = SALOMEDS::StudyBuilder::_duplicate(theBuilder);
SALOMEDS_StudyBuilder::~SALOMEDS_StudyBuilder()
{
+ if (!_isLocal) pthread_mutex_unlock( &_remoteBuilderMutex );
}
_PTR(SComponent) SALOMEDS_StudyBuilder::NewComponent(const std::string& ComponentDataType)
void SALOMEDS_StudyBuilder::CheckLocked()
{
- //There is only local part as CORBA part throws the correct exeception
+ //There is only local part as CORBA part throws the correct exception
if (_isLocal) {
SALOMEDS::Locker lock;
try {