aboutsummaryrefslogtreecommitdiffstats
path: root/vespajlib/src/main/java/com/yahoo/concurrent/Lock.java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2017-06-28 13:37:02 +0200
committerJon Bratseth <bratseth@yahoo-inc.com>2017-06-28 13:37:02 +0200
commit3a2c9c9e1d9b97f3ca277408f4103ce1b7ec8860 (patch)
tree376f043f6e0958dad168084277526d096a28b01f /vespajlib/src/main/java/com/yahoo/concurrent/Lock.java
parent1f5b3720c323474ef5a30d3de124c990ddec6009 (diff)
Add locking API
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/concurrent/Lock.java')
-rw-r--r--vespajlib/src/main/java/com/yahoo/concurrent/Lock.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/concurrent/Lock.java b/vespajlib/src/main/java/com/yahoo/concurrent/Lock.java
new file mode 100644
index 00000000000..39ccab7034e
--- /dev/null
+++ b/vespajlib/src/main/java/com/yahoo/concurrent/Lock.java
@@ -0,0 +1,23 @@
+package com.yahoo.vespa.hosted.controller.concurrent;
+
+import java.util.concurrent.locks.ReentrantLock;
+
+/**
+ * An acquired lock which is released on close
+ *
+ * @author bratseth
+ */
+public final class Lock implements AutoCloseable {
+
+ private final ReentrantLock wrappedLock;
+
+ Lock(ReentrantLock wrappedLock) {
+ this.wrappedLock = wrappedLock;
+ }
+
+ /** Releases this lock */
+ public void close() {
+ wrappedLock.unlock();
+ }
+
+}