LCOV - code coverage report
Current view: top level - src/leveldb/port - port_posix.cc (source / functions) Hit Total Coverage
Test: total_coverage.info Lines: 18 26 69.2 %
Date: 2015-10-12 22:39:14 Functions: 9 11 81.8 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : // Copyright (c) 2011 The LevelDB Authors. All rights reserved.
       2             : // Use of this source code is governed by a BSD-style license that can be
       3             : // found in the LICENSE file. See the AUTHORS file for names of contributors.
       4             : 
       5             : #include "port/port_posix.h"
       6             : 
       7             : #include <cstdlib>
       8             : #include <stdio.h>
       9             : #include <string.h>
      10             : #include "util/logging.h"
      11             : 
      12             : namespace leveldb {
      13             : namespace port {
      14             : 
      15      270941 : static void PthreadCall(const char* label, int result) {
      16      270941 :   if (result != 0) {
      17           0 :     fprintf(stderr, "pthread %s: %s\n", label, strerror(result));
      18           0 :     abort();
      19             :   }
      20      270941 : }
      21             : 
      22        9042 : Mutex::Mutex() { PthreadCall("init mutex", pthread_mutex_init(&mu_, NULL)); }
      23             : 
      24        8852 : Mutex::~Mutex() { PthreadCall("destroy mutex", pthread_mutex_destroy(&mu_)); }
      25             : 
      26      125321 : void Mutex::Lock() { PthreadCall("lock", pthread_mutex_lock(&mu_)); }
      27             : 
      28      125321 : void Mutex::Unlock() { PthreadCall("unlock", pthread_mutex_unlock(&mu_)); }
      29             : 
      30         795 : CondVar::CondVar(Mutex* mu)
      31         795 :     : mu_(mu) {
      32         795 :     PthreadCall("init cv", pthread_cond_init(&cv_, NULL));
      33         795 : }
      34             : 
      35         795 : CondVar::~CondVar() { PthreadCall("destroy cv", pthread_cond_destroy(&cv_)); }
      36             : 
      37           0 : void CondVar::Wait() {
      38           0 :   PthreadCall("wait", pthread_cond_wait(&cv_, &mu_->mu_));
      39           0 : }
      40             : 
      41           0 : void CondVar::Signal() {
      42           0 :   PthreadCall("signal", pthread_cond_signal(&cv_));
      43           0 : }
      44             : 
      45           7 : void CondVar::SignalAll() {
      46           7 :   PthreadCall("broadcast", pthread_cond_broadcast(&cv_));
      47           7 : }
      48             : 
      49         808 : void InitOnce(OnceType* once, void (*initializer)()) {
      50         808 :   PthreadCall("once", pthread_once(once, initializer));
      51         808 : }
      52             : 
      53             : }  // namespace port
      54             : }  // namespace leveldb

Generated by: LCOV version 1.11