~ubuntu-branches/ubuntu/utopic/mongodb/utopic

« back to all changes in this revision

Viewing changes to src/mongo/db/pagefault.cpp

  • Committer: Package Import Robot
  • Author(s): James Page
  • Date: 2014-07-03 09:23:46 UTC
  • mfrom: (1.3.10) (44.1.14 sid)
  • Revision ID: package-import@ubuntu.com-20140703092346-c5bvt46wnzougyly
Tags: 1:2.6.3-0ubuntu1
* New upstream stable release:
  - Dropped patches, included upstream:
    + 0003-All-platforms-but-Windows-find-hash-in-std-tr1.patch
    + 0008-Use-system-libstemmer.patch
    + 0011-Use-a-signed-char-to-store-BSONType-enumerations.patch
    + 0001-SERVER-12064-Atomic-operations-for-gcc-non-Intel-arc.patch
    + 0002-SERVER-12065-Support-ARM-and-AArch64-builds.patch
  - d/p/*: Refreshed/rebased remaining patches.
  - Use system provided libyaml-cpp:
    + d/control: Add libyaml-cpp-dev to BD's.
    + d/rules: Enable --with-system-yaml option.
    + d/p/fix-yaml-detection.patch: Fix detection of libyaml-cpp library.
  - d/mongodb-server.mongodb.upstart: Sync changes from upstream.
  - d/control,mongodb-dev.*: Drop mongodb-dev package; it has no reverse
    dependencies and upstream no longer install header files.
  - d/NEWS: Point users to upstream upgrade documentation for upgrades
    from 2.4 to 2.6.
* Merge from Debian unstable.
* d/control: BD on libv8-3.14-dev to ensure that transitioning to new v8
  versions is a explicit action due to changes in behaviour in >= 3.25
  (LP: #1295723).
* d/mongodb-server.prerm: Dropped debug echo call from maintainer script
  (LP: #1294455).

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
*
15
15
*    You should have received a copy of the GNU Affero General Public License
16
16
*    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
17
*
 
18
*    As a special exception, the copyright holders give permission to link the
 
19
*    code of portions of this program with the OpenSSL library under certain
 
20
*    conditions as described in each individual source file and distribute
 
21
*    linked combinations including the program with the OpenSSL library. You
 
22
*    must comply with the GNU Affero General Public License in all respects for
 
23
*    all of the code used other than as permitted herein. If you modify file(s)
 
24
*    with this exception, you may extend this exception to your version of the
 
25
*    file(s), but you are not obligated to do so. If you do not wish to do so,
 
26
*    delete this exception statement from your version. If you delete this
 
27
*    exception statement from all source files in the program, then also delete
 
28
*    it in the license file.
17
29
*/
18
30
 
19
31
 
20
 
#include "pch.h"
21
 
#include "diskloc.h"
22
 
#include "pagefault.h"
23
 
#include "client.h"
24
 
#include "pdfile.h"
25
 
#include "server.h"
 
32
#include "mongo/pch.h"
 
33
 
 
34
#include "mongo/db/pagefault.h"
 
35
 
 
36
#include "mongo/db/client.h"
 
37
#include "mongo/db/diskloc.h"
 
38
#include "mongo/db/pdfile.h"
 
39
#include "mongo/server.h"
26
40
 
27
41
namespace mongo { 
28
42
 
43
57
        if( LockMongoFilesShared::getEra() != era ) {
44
58
            // files opened and closed.  we don't try to handle but just bail out; this is much simpler
45
59
            // and less error prone and saves us from taking a dbmutex readlock.
46
 
            dlog(2) << "era changed" << endl;
 
60
            MONGO_DLOG(2) << "era changed" << endl;
47
61
            return;
48
62
        }
49
63
        r->touch();
57
71
        verify( cc()._pageFaultRetryableSection == 0 );
58
72
        if( Lock::isLocked() ) {
59
73
            cc()._pageFaultRetryableSection = 0;
60
 
            if( debug || logLevel > 2 ) { 
 
74
            if( debug || logger::globalLogDomain()->shouldLog(logger::LogSeverity::Debug(3)) ) { 
61
75
                LOGSOME << "info PageFaultRetryableSection will not yield, already locked upon reaching" << endl;
62
76
            }
63
77
        }
64
78
        else {
65
79
            cc()._pageFaultRetryableSection = this;
66
 
            cc()._hasWrittenThisPass = false;
67
80
        }
68
81
    }
69
82