]> git.vomp.tv Git - vompclient.git/blob - mutex.cc
*** empty log message ***
[vompclient.git] / mutex.cc
1 /*\r
2     Copyright 2004-2005 Chris Tallon\r
3 \r
4     This file is part of VOMP.\r
5 \r
6     VOMP is free software; you can redistribute it and/or modify\r
7     it under the terms of the GNU General Public License as published by\r
8     the Free Software Foundation; either version 2 of the License, or\r
9     (at your option) any later version.\r
10 \r
11     VOMP is distributed in the hope that it will be useful,\r
12     but WITHOUT ANY WARRANTY; without even the implied warranty of\r
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
14     GNU General Public License for more details.\r
15 \r
16     You should have received a copy of the GNU General Public License\r
17     along with VOMP; if not, write to the Free Software\r
18     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
19 */\r
20 #include "mutex.h"\r
21 \r
22 Mutex::Mutex() {\r
23 #ifndef WIN32\r
24         pthread_mutex_init(&my_mutex, NULL);\r
25 #else\r
26          my_mutex=CreateMutex(NULL,FALSE,NULL);\r
27 #endif\r
28 }\r
29 \r
30 Mutex::~Mutex() {\r
31 #ifdef WIN32\r
32   CloseHandle(my_mutex);\r
33 #endif\r
34 }\r
35 \r
36 void Mutex::Lock() {\r
37 #ifndef WIN32\r
38   pthread_mutex_lock(&my_mutex);\r
39 #else\r
40    WaitForSingleObject(my_mutex, INFINITE );\r
41 #endif\r
42 }\r
43 \r
44 void Mutex::Unlock() {\r
45 #ifndef WIN32\r
46   pthread_mutex_unlock(&my_mutex);\r
47 #else\r
48    ReleaseMutex(my_mutex);\r
49 #endif\r
50 }\r
51 \r