diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2010-06-08 08:22:05 +0200 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2010-06-08 08:22:05 +0200 |
commit | d7c5ad7d6263fd1baf9bfdbaa4c50b70ef2fbdb2 (patch) | |
tree | ae0b65da6432f4c26c8d5a7319efbda5d172846c /infrastructure/framework-src/modules/sync.js | |
parent | fa61221dcd89fcd72cba2c97971626f456c86e5d (diff) | |
download | etherpad-d7c5ad7d6263fd1baf9bfdbaa4c50b70ef2fbdb2.tar.gz etherpad-d7c5ad7d6263fd1baf9bfdbaa4c50b70ef2fbdb2.tar.xz etherpad-d7c5ad7d6263fd1baf9bfdbaa4c50b70ef2fbdb2.zip |
reverted folder structure change for better mergeing with upstream
Diffstat (limited to 'infrastructure/framework-src/modules/sync.js')
-rw-r--r-- | infrastructure/framework-src/modules/sync.js | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/infrastructure/framework-src/modules/sync.js b/infrastructure/framework-src/modules/sync.js deleted file mode 100644 index a222ea0..0000000 --- a/infrastructure/framework-src/modules/sync.js +++ /dev/null @@ -1,81 +0,0 @@ -/** - * Copyright 2009 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS-IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -jimport("java.util.concurrent.locks.ReentrantLock"); -jimport("net.appjet.oui.GlobalSynchronizer"); - -/** - * synchronously calls a no-argument function. - * f may have return values. - */ -function callsync(obj, f) { - if (!obj._LOCK) { - try { - appjet.globalLock.lock(); - if (! obj._LOCK) { - obj._LOCK = new ReentrantLock(); - } - } finally { - appjet.globalLock.unlock(); - } - } - try { - obj._LOCK.lock(); - return f(); - } finally { - obj._LOCK.unlock(); - } -} - -/** - * synchronously calls a no-argument function iff - * condition() is true. condition may be called - * twice and shouldn't have side-effects. - */ -function callsyncIfTrue(obj, condition, f) { - if (condition()) { - callsync(obj, function() { - if (condition()) { - f(); - } - }); - } -} - -/** - * returns a function that synchronously calls - * f with its own arguments - */ -function wrapsync(obj, f, thisArg) { - return function() { - var args = Array.prototype.slice.call(arguments); - var wrapper = function() { - return f.apply(thisArg, args); - } - callsync(obj, wrapper); - } -} - -function doWithStringLock(lockName, fn) { - GlobalSynchronizer.acquire(lockName); - try { - return fn(); - } - finally { - GlobalSynchronizer.release(lockName); - } -} - |