diff options
author | gabor@google.com <gabor@google.com@62dab493-f737-651d-591e-8d6aee1b9529> | 2011-06-29 22:53:17 +0000 |
---|---|---|
committer | gabor@google.com <gabor@google.com@62dab493-f737-651d-591e-8d6aee1b9529> | 2011-06-29 22:53:17 +0000 |
commit | 85f0ab1975e5ddd7c387ee6cd4a95987dc6c27b3 (patch) | |
tree | 0da2853b72ad45660f709e1ea892038ca72042c1 /port | |
parent | f57e23351f416d15cb6dc2905f2abade5a632fc3 (diff) | |
download | leveldb-85f0ab1975e5ddd7c387ee6cd4a95987dc6c27b3.tar.gz |
Fixing Makefile issue reported in Issue 15 (misspelled flag)
git-svn-id: https://leveldb.googlecode.com/svn/trunk@35 62dab493-f737-651d-591e-8d6aee1b9529
Diffstat (limited to 'port')
-rw-r--r-- | port/port_osx.cc | 50 | ||||
-rw-r--r-- | port/port_osx.h | 125 |
2 files changed, 0 insertions, 175 deletions
diff --git a/port/port_osx.cc b/port/port_osx.cc deleted file mode 100644 index 4ab9e31..0000000 --- a/port/port_osx.cc +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright (c) 2011 The LevelDB Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. See the AUTHORS file for names of contributors. - -#include "port_osx.h" - -#include <cstdlib> -#include <stdio.h> -#include <string.h> -#include "util/logging.h" - -namespace leveldb { -namespace port { - -static void PthreadCall(const char* label, int result) { - if (result != 0) { - fprintf(stderr, "pthread %s: %s\n", label, strerror(result)); - abort(); - } -} - -Mutex::Mutex() { PthreadCall("init mutex", pthread_mutex_init(&mu_, NULL)); } - -Mutex::~Mutex() { PthreadCall("destroy mutex", pthread_mutex_destroy(&mu_)); } - -void Mutex::Lock() { PthreadCall("lock", pthread_mutex_lock(&mu_)); } - -void Mutex::Unlock() { PthreadCall("unlock", pthread_mutex_unlock(&mu_)); } - -CondVar::CondVar(Mutex* mu) - : mu_(mu) { - PthreadCall("init cv", pthread_cond_init(&cv_, NULL)); -} - -CondVar::~CondVar() { PthreadCall("destroy cv", pthread_cond_destroy(&cv_)); } - -void CondVar::Wait() { - PthreadCall("wait", pthread_cond_wait(&cv_, &mu_->mu_)); -} - -void CondVar::Signal() { - PthreadCall("signal", pthread_cond_signal(&cv_)); -} - -void CondVar::SignalAll() { - PthreadCall("broadcast", pthread_cond_broadcast(&cv_)); -} - -} -} diff --git a/port/port_osx.h b/port/port_osx.h deleted file mode 100644 index 5524c6c..0000000 --- a/port/port_osx.h +++ /dev/null @@ -1,125 +0,0 @@ -// Copyright (c) 2011 The LevelDB Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. See the AUTHORS file for names of contributors. -// -// See port_example.h for documentation for the following types/functions. - -#ifndef STORAGE_LEVELDB_PORT_PORT_OSX_H_ -#define STORAGE_LEVELDB_PORT_PORT_OSX_H_ - -#include <libkern/OSAtomic.h> -#include <machine/endian.h> -#include <pthread.h> -#include <stdint.h> - -#include <string> - -namespace leveldb { - -// The following 4 methods implemented here for the benefit of env_posix.cc. -inline size_t fread_unlocked(void *a, size_t b, size_t c, FILE *d) { - return fread(a, b, c, d); -} - -inline size_t fwrite_unlocked(const void *a, size_t b, size_t c, FILE *d) { - return fwrite(a, b, c, d); -} - -inline int fflush_unlocked(FILE *f) { - return fflush(f); -} - -inline int fdatasync(int fd) { - return fsync(fd); -} - -namespace port { - -static const bool kLittleEndian = (__DARWIN_BYTE_ORDER == __DARWIN_LITTLE_ENDIAN); - -// ------------------ Threading ------------------- - -// A Mutex represents an exclusive lock. -class Mutex { - public: - Mutex(); - ~Mutex(); - - void Lock(); - void Unlock(); - void AssertHeld() { } - - private: - friend class CondVar; - pthread_mutex_t mu_; - - // No copying - Mutex(const Mutex&); - void operator=(const Mutex&); -}; - -class CondVar { - public: - explicit CondVar(Mutex* mu); - ~CondVar(); - - void Wait(); - void Signal(); - void SignalAll(); - - private: - pthread_cond_t cv_; - Mutex* mu_; -}; - -inline void MemoryBarrier() { -#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) - // See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on - // this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering. - __asm__ __volatile__("" : : : "memory"); -#else - OSMemoryBarrier(); -#endif -} - -class AtomicPointer { - private: - void* ptr_; - public: - AtomicPointer() { } - explicit AtomicPointer(void* p) : ptr_(p) {} - inline void* Acquire_Load() const { - void* ptr = ptr_; - MemoryBarrier(); - return ptr; - } - inline void Release_Store(void* v) { - MemoryBarrier(); - ptr_ = v; - } - inline void* NoBarrier_Load() const { - return ptr_; - } - inline void NoBarrier_Store(void* v) { - ptr_ = v; - } -}; - -inline bool Snappy_Compress(const char* input, size_t input_length, - std::string* output) { - return false; -} - -inline bool Snappy_Uncompress(const char* input_data, size_t input_length, - std::string* output) { - return false; -} - -inline bool GetHeapProfile(void (*func)(void*, const char*, int), void* arg) { - return false; -} - -} -} - -#endif // STORAGE_LEVELDB_PORT_PORT_OSX_H_ |