From 9153c0896b6730a90637f3ad0e0a0f46ddb88e47 Mon Sep 17 00:00:00 2001 From: Dan Ballard Date: Mon, 24 Jan 2011 23:27:20 -0800 Subject: [PATCH] Moving lock removal code to cortexLocks.js --- client.html | 5 +++-- cortexLocks.js | 25 +++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) 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