diff options
Diffstat (limited to 'base/test_file_util_linux.cc')
-rw-r--r-- | base/test_file_util_linux.cc | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/base/test_file_util_linux.cc b/base/test_file_util_linux.cc new file mode 100644 index 0000000..421d182 --- /dev/null +++ b/base/test_file_util_linux.cc @@ -0,0 +1,28 @@ +// Copyright (c) 2008 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "base/test_file_util.h" + +#include <fcntl.h> +#include <sys/stat.h> +#include <sys/types.h> + +#include "base/file_path.h" + +namespace file_util { + +bool EvictFileFromSystemCache(const wchar_t* file) { + FilePath fpath = FilePath::FromWStringHack(file); + int fd = open(fpath.value().c_str(), O_RDONLY); + if (fd < 0) + return false; + if (fdatasync(fd) != 0) + return false; + if (posix_fadvise(fd, 0, 0, POSIX_FADV_DONTNEED) != 0) + return false; + close(fd); + return true; +} + +} // namespace file_util |