summaryrefslogtreecommitdiff
path: root/src/lock.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lock.cpp')
-rw-r--r--src/lock.cpp46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/lock.cpp b/src/lock.cpp
new file mode 100644
index 0000000..5c37bea
--- /dev/null
+++ b/src/lock.cpp
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2006 International Business Machines Corporation. *
+ * All rights reserved. This program and the accompanying materials *
+ * are made available under the terms of the Common Public License v1.0 *
+ * which accompanies this distribution, and is available at *
+ * http://www.opensource.org/licenses/cpl1.0.php *
+ * *
+ * Contributors: *
+ * Douglas M. Pase - initial API and implementation *
+ *******************************************************************************/
+
+//
+// Configuration
+//
+
+// Implementation header
+#include "lock.h"
+
+// System includes
+#include <cstdio>
+
+
+//
+// Implementation
+//
+
+Lock::Lock() {
+ pthread_mutex_init(&(this->mutex), NULL);
+}
+
+Lock::~Lock() {
+ pthread_mutex_destroy(&(this->mutex));
+}
+
+void Lock::lock() {
+ pthread_mutex_lock(&(this->mutex));
+}
+
+int Lock::test() {
+ pthread_mutex_trylock(&(this->mutex));
+}
+
+void Lock::unlock() {
+ pthread_mutex_unlock(&(this->mutex));
+}
+