Browse Source

Backport Win32 LevelDB env from C++0x to C++

Since the gitian mingw compiler doesn't support C++0x yet.
0.8
Pieter Wuille 12 years ago
parent
commit
9f56678fce
  1. 2
      src/leveldb/build_detect_platform
  2. 4
      src/leveldb/port/port_win.cc
  3. 2
      src/leveldb/port/port_win.h
  4. 2
      src/leveldb/util/env_boost.cc

2
src/leveldb/build_detect_platform

@ -112,7 +112,7 @@ case "$TARGET_OS" in @@ -112,7 +112,7 @@ case "$TARGET_OS" in
OS_WINDOWS_CROSSCOMPILE)
PLATFORM=OS_WINDOWS
COMMON_FLAGS="-fno-builtin-memcmp -D_REENTRANT -DOS_WINDOWS -DLEVELDB_PLATFORM_WINDOWS -DBOOST_THREAD_USE_LIB"
PLATFORM_CXXFLAGS="-std=c++0x"
PLATFORM_CXXFLAGS=""
PLATFORM_LDFLAGS=""
PLATFORM_SHARED_CFLAGS=""
PLATFORM_SOURCES="port/port_win.cc util/env_boost.cc util/win_logger.cc"

4
src/leveldb/port/port_win.cc

@ -134,7 +134,7 @@ AtomicPointer::AtomicPointer(void* v) { @@ -134,7 +134,7 @@ AtomicPointer::AtomicPointer(void* v) {
}
void* AtomicPointer::Acquire_Load() const {
void * p = nullptr;
void * p = NULL;
InterlockedExchangePointer(&p, rep_);
return p;
}
@ -160,7 +160,7 @@ enum InitializationState @@ -160,7 +160,7 @@ enum InitializationState
void InitOnce(OnceType* once, void (*initializer)()) {
static_assert(Uninitialized == LEVELDB_ONCE_INIT, "Invalid uninitialized state value");
assert(Uninitialized == LEVELDB_ONCE_INIT);
InitializationState state = static_cast<InitializationState>(InterlockedCompareExchange(once, Running, Uninitialized));

2
src/leveldb/port/port_win.h

@ -104,7 +104,7 @@ class AtomicPointer { @@ -104,7 +104,7 @@ class AtomicPointer {
private:
void * rep_;
public:
AtomicPointer() : rep_(nullptr) { }
AtomicPointer() : rep_(NULL) { }
explicit AtomicPointer(void* v);
void* Acquire_Load() const;

2
src/leveldb/util/env_boost.cc

@ -401,7 +401,7 @@ class PosixEnv : public Env { @@ -401,7 +401,7 @@ class PosixEnv : public Env {
boost::interprocess::file_lock fl(fname.c_str());
BoostFileLock * my_lock = new BoostFileLock();
my_lock->fl_ = std::move(fl);
fl.swap(my_lock->fl_);
if (!my_lock->fl_.try_lock()) {
return Status::IOError("database already in use: could not acquire exclusive lock");
}

Loading…
Cancel
Save