SERVER-695 don't destroy static global mutexes

This commit is contained in:
Aaron
2010-03-09 23:59:10 -08:00
parent c4b55b2957
commit 714ec2fdc8
50 changed files with 204 additions and 153 deletions

View File

@@ -195,11 +195,11 @@ namespace mongo {
map< pid_t, HANDLE > handles;
#endif
boost::mutex &mongoProgramOutputMutex( *( new boost::mutex ) );
mongo::mutex mongoProgramOutputMutex;
stringstream mongoProgramOutput_;
void writeMongoProgramOutputLine( int port, int pid, const char *line ) {
boost::mutex::scoped_lock lk( mongoProgramOutputMutex );
mongo::mutex::scoped_lock lk( mongoProgramOutputMutex );
stringstream buf;
if ( port > 0 )
buf << "m" << port << "| " << line;
@@ -211,7 +211,7 @@ namespace mongo {
// only returns last 100000 characters
BSONObj RawMongoProgramOutput( const BSONObj &args ) {
boost::mutex::scoped_lock lk( mongoProgramOutputMutex );
mongo::mutex::scoped_lock lk( mongoProgramOutputMutex );
string out = mongoProgramOutput_.str();
size_t len = out.length();
if ( len > 100000 )
@@ -220,7 +220,7 @@ namespace mongo {
}
BSONObj ClearRawMongoProgramOutput( const BSONObj &args ) {
boost::mutex::scoped_lock lk( mongoProgramOutputMutex );
mongo::mutex::scoped_lock lk( mongoProgramOutputMutex );
mongoProgramOutput_.str( "" );
return undefined_;
}