// common.cpp /* * Copyright (C) 2010 10gen Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License, version 3, * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ #include "pch.h" #include "concurrency.h" /** * this just has globals */ namespace mongo { /* we use new here so we don't have to worry about destructor orders at program shutdown */ MongoMutex &dbMutex( *(new MongoMutex("rw:dbMutex")) ); MongoMutex::MongoMutex(const char *name) : _m(name) { //static int n; //assert( ++n == 1 ); // we don't expect there to be but a single one of these; warn, maybe, if there are /*cout << sizeof(*this) << endl; cout << sizeof(MutexInfo) << endl; cout << sizeof(RWLock) << endl; cout << sizeof(ThreadLocalValue) << endl; _state.get();*/ } }