Commit 1a375179 authored by Victor Costan's avatar Victor Costan Committed by Commit Bot

Roll src/third_party/leveldatabase/src/ ca216e493..41172a240 (7 commits)

https://chromium.googlesource.com/external/leveldb.git/+log/ca216e493f32..41172a24016b

This CL also adds Clang thread safety annotations [1] to Chrome's
leveldb::port::Mutex. This can't be done in a separate CL because the
primitives are used in Chrome code that is compiled with -Wthread-safety
turned on.

[1] https://cs.chromium.org/chromium/src/base/thread_annotations.h

$ git log ca216e493..41172a240 --date=short --no-merges --format='%ad %ae %s'
2018-02-13 costan Enable thread safety annotations in open source version.
2017-10-25 cmumford Add leveldb_options_set_max_file_size to the C API.
2017-10-23 cmumford Fixed style guide link in CONTRIBUTING.md
2017-10-19 cmumford Deleted unused assignments in Reader.
2017-10-17 cmumford leveldb::DestroyDB will now delete empty directories.
2017-10-10 costan Fix typo (forgotten reference operator) in test.
2017-10-10 costan Replace SSE-optimized CRC32C in POSIX port with external library.

Created with:
  roll-dep src/third_party/leveldatabase/src

Change-Id: I68dc2799673a93253bc338b141e0945b11db097a
Reviewed-on: https://chromium-review.googlesource.com/920773Reviewed-by: default avatarChris Mumford <cmumford@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537288}
parent a72c70c7
......@@ -430,7 +430,7 @@ deps = {
},
'src/third_party/leveldatabase/src':
Var('chromium_git') + '/external/leveldb.git' + '@' + 'ca216e493f32278f50a823811ab95f64cf0f839b',
Var('chromium_git') + '/external/leveldb.git' + '@' + '41172a24016bc29fc795ed504737392587f54e3d',
'src/third_party/libFuzzer/src':
Var('chromium_git') + '/chromium/llvm-project/compiler-rt/lib/fuzzer.git' + '@' + Var('libfuzzer_revision'),
......
Name: LevelDB: A Fast Persistent Key-Value Store
Short Name: leveldb
URL: https://github.com/google/leveldb.git
Version: 1.20
Version: 1.20.git.41172a24016bc29fc795ed504737392587f54e3d
License: New BSD
License File: src/LICENSE
Security Critical: yes
......@@ -14,7 +14,7 @@ Currently using (not yet released) manifest reuse feature for all platforms
except Chrome OS.
Local Additions:
* gyp file for building in chromium
* GN file for building in chromium
* port/port_chromium.{h,cc} and env_chromium.{h,cc} provide chromium
implementations of primitives used by leveldb. E.g. threading, file handling,
etc. env_chromium.h allows re-use of some utility functions.
......
......@@ -17,6 +17,7 @@
#include "base/macros.h"
#include "base/synchronization/condition_variable.h"
#include "base/synchronization/lock.h"
#include "base/thread_annotations.h"
#include "build/build_config.h"
// Linux's ThreadIdentifier() needs this.
......@@ -34,13 +35,13 @@ namespace port {
// Chromium only supports little endian.
static const bool kLittleEndian = true;
class Mutex {
class LOCKABLE Mutex {
public:
Mutex();
~Mutex();
void Lock();
void Unlock();
void AssertHeld();
void Lock() EXCLUSIVE_LOCK_FUNCTION();
void Unlock() UNLOCK_FUNCTION();
void AssertHeld() ASSERT_EXCLUSIVE_LOCK();
private:
base::Lock mu_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment