diff options
author | Kenneth Heafield <kheafiel@cluster12.lti.ece.cmu.local> | 2011-05-20 16:19:04 -0400 |
---|---|---|
committer | Kenneth Heafield <kheafiel@cluster12.lti.ece.cmu.local> | 2011-05-20 16:19:04 -0400 |
commit | bc95fedbaa083d557840db6ac2cbf14e2a3eccce (patch) | |
tree | 00717d119814232577f7345ddbf2f224d58911e8 /klm/util/mmap.cc | |
parent | 066dcbd87b6a59d4ef032001763eebf620fe4702 (diff) |
kenlm update including being nicer to NFS
Diffstat (limited to 'klm/util/mmap.cc')
-rw-r--r-- | klm/util/mmap.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/klm/util/mmap.cc b/klm/util/mmap.cc index 456ce953..e7c0643b 100644 --- a/klm/util/mmap.cc +++ b/klm/util/mmap.cc @@ -15,8 +15,9 @@ namespace util { scoped_mmap::~scoped_mmap() { if (data_ != (void*)-1) { - if (munmap(data_, size_)) { - std::cerr << "munmap failed for " << size_ << " bytes." << std::endl; + // Thanks Denis Filimonov for pointing on NFS likes msync first. + if (msync(data_, size_, MS_SYNC) || munmap(data_, size_)) { + std::cerr << "msync or mmap failed for " << size_ << " bytes." << std::endl; abort(); } } |