diff --git a/client.html b/client.html
index 0b8dc4b..19c8933 100644
--- a/client.html
+++ b/client.html
@@ -204,7 +204,7 @@ function packResults(res) {
}
-
+/*
function removeNodeRangeLocks(addr) {
for(var i in rangeLocks) {
log("freeing " + i + " locks");
@@ -219,6 +219,7 @@ function removeNodeRangeLocks(addr) {
}
}
}
+*/
function disconnect(addr) {
/* log("--------------DISCONNECT " + addr + "----------");
@@ -241,7 +242,7 @@ function disconnect(addr) {
}
}
// range locks
- removeNodeRangeLocks(addr);
+ //removeNodeRangeLocks(addr);
log("disconnect: freeing range locks");
}
diff --git a/cortexLocks.js b/cortexLocks.js
index 30386d9..d4a3304 100644
--- a/cortexLocks.js
+++ b/cortexLocks.js
@@ -72,3 +72,28 @@ function handleAddLock(resp) {
}
}
+
+
+function removeNodeRangeLocks(addr) {
+ for(var i in rangeLocks) {
+ log("freeing " + i + " locks");
+ var rlock = rangeLocks[i];
+ while (rlock != null) {
+ log("looking at " + i + " (" + rlock.start + " to " + rlock.end + ") : " + rlock.addr);
+ if (rlock.addr == addr) {
+ log("unlocking");
+ rlock.locked = false;
+ }
+ rlock = rlock.next;
+ }
+ }
+}
+
+function removeNodeLocks(addr) {
+ removeNodeRangeLocks(resp['addr']);
+}
+
+addMsgHandler("deadNode",
+function (resp) {
+ removeNodeLocks(resp['addr']);
+});
\ No newline at end of file