system.js deadlock fix

This commit is contained in:
Eliot Horowitz
2010-07-28 13:42:23 -04:00
parent f27b7ba4f7
commit 6ef1fe833d

View File

@@ -1199,20 +1199,22 @@ namespace mongo {
}
void localConnect( const char * dbName ){
smlock;
uassert( 10225 , "already setup for external db" , ! _externalSetup );
if ( _localConnect ){
uassert( 10226 , "connected to different db" , _localDBName == dbName );
return;
{
smlock;
uassert( 10225 , "already setup for external db" , ! _externalSetup );
if ( _localConnect ){
uassert( 10226 , "connected to different db" , _localDBName == dbName );
return;
}
initMongoJS( this , _context , _global , true );
exec( "_mongo = new Mongo();" );
exec( ((string)"db = _mongo.getDB( \"" + dbName + "\" ); ").c_str() );
_localConnect = true;
_localDBName = dbName;
}
initMongoJS( this , _context , _global , true );
exec( "_mongo = new Mongo();" );
exec( ((string)"db = _mongo.getDB( \"" + dbName + "\" ); ").c_str() );
_localConnect = true;
_localDBName = dbName;
loadStored();
}