LCOV - code coverage report
Current view: top level - src/jthread/pthread - jmutex.cpp (source / functions) Hit Total Coverage
Test: report Lines: 12 12 100.0 %
Date: 2015-07-11 18:23:49 Functions: 4 4 100.0 %

          Line data    Source code
       1             : /*
       2             : 
       3             :     This file is a part of the JThread package, which contains some object-
       4             :     oriented thread wrappers for different thread implementations.
       5             : 
       6             :     Copyright (c) 2000-2006  Jori Liesenborgs (jori.liesenborgs@gmail.com)
       7             : 
       8             :     Permission is hereby granted, free of charge, to any person obtaining a
       9             :     copy of this software and associated documentation files (the "Software"),
      10             :     to deal in the Software without restriction, including without limitation
      11             :     the rights to use, copy, modify, merge, publish, distribute, sublicense,
      12             :     and/or sell copies of the Software, and to permit persons to whom the
      13             :     Software is furnished to do so, subject to the following conditions:
      14             : 
      15             :     The above copyright notice and this permission notice shall be included in
      16             :     all copies or substantial portions of the Software.
      17             : 
      18             :     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
      19             :     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
      20             :     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
      21             :     THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
      22             :     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
      23             :     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
      24             :     DEALINGS IN THE SOFTWARE.
      25             : 
      26             : */
      27             : #include <assert.h>
      28             : #include "jthread/jmutex.h"
      29             : #define UNUSED(expr) do { (void)(expr); } while (0)
      30         112 : JMutex::JMutex()
      31             : {
      32         112 :         int mutex_init_retval = pthread_mutex_init(&mutex,NULL);
      33             :         assert( mutex_init_retval == 0 );
      34             :         UNUSED(mutex_init_retval);
      35         112 : }
      36             : 
      37         216 : JMutex::~JMutex()
      38             : {
      39         108 :         int mutex_dextroy_retval = pthread_mutex_destroy(&mutex);
      40             :         assert( mutex_dextroy_retval == 0 );
      41             :         UNUSED(mutex_dextroy_retval);
      42         108 : }
      43             : 
      44     2758650 : int JMutex::Lock()
      45             : {
      46     2758650 :         int mutex_lock_retval = pthread_mutex_lock(&mutex);
      47             :         assert( mutex_lock_retval == 0 );
      48     2758484 :         return mutex_lock_retval;
      49             :         UNUSED(mutex_lock_retval);
      50             : }
      51             : 
      52     2758604 : int JMutex::Unlock()
      53             : {
      54     2758604 :         int mutex_unlock_retval = pthread_mutex_unlock(&mutex);
      55             :         assert( mutex_unlock_retval == 0 );
      56     2758676 :         return mutex_unlock_retval;
      57             :         UNUSED(mutex_unlock_retval);
      58             : }

Generated by: LCOV version 1.11