[libamb] - added value quality, removed deprecated GetFoo call, made updateFrequency...
[profile/ivi/automotive-message-broker.git] / plugins / common / mutex.cpp
1 /*
2 Copyright (C) 2012 Intel Corporation
3
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with this library; if not, write to the Free Software
16 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
17 */
18
19 /******************************************************************
20 *
21 *       File: Mutex.cpp
22 *
23 *       Revision;
24 *               - first revision
25 *
26 ******************************************************************/
27
28 #include "mutex.h"
29
30 using namespace CUtil;
31
32 ////////////////////////////////////////////////
33 //      Mutex
34 ////////////////////////////////////////////////
35
36 Mutex::Mutex()
37 {
38     pthread_mutexattr_t attr;
39     pthread_mutexattr_init( &attr );
40     pthread_mutexattr_settype( &attr, PTHREAD_MUTEX_RECURSIVE );
41     pthread_mutex_init( &mutexID, &attr );
42     pthread_mutexattr_destroy( &attr );
43 }
44
45 Mutex::~Mutex()
46 {
47     pthread_mutex_destroy( &mutexID );
48 }
49
50 void Mutex::lock()
51 {
52     pthread_mutex_lock( &mutexID );
53 }
54
55 void Mutex::unlock()
56 {
57     pthread_mutex_unlock( &mutexID );
58 }