diff options
author | Elliot Kroo <kroo@appjet.com> | 2010-03-11 15:21:30 -0800 |
---|---|---|
committer | Elliot Kroo <kroo@appjet.com> | 2010-03-11 15:21:30 -0800 |
commit | 98e2821b38a775737e42a2479a6bc65107210859 (patch) | |
tree | 55939a8ba1dce4f4e48ebb13b658061d62bf1b9a /trunk/infrastructure/framework-src/modules/sync.js | |
parent | c1894c8e0a52f4e3d2f89fa92f0066bbf0fcf1b1 (diff) | |
download | etherpad-98e2821b38a775737e42a2479a6bc65107210859.tar.gz etherpad-98e2821b38a775737e42a2479a6bc65107210859.tar.bz2 etherpad-98e2821b38a775737e42a2479a6bc65107210859.zip |
reorganizing the first level of folders (trunk/branch folders are not the git way :)
Diffstat (limited to 'trunk/infrastructure/framework-src/modules/sync.js')
-rw-r--r-- | trunk/infrastructure/framework-src/modules/sync.js | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/trunk/infrastructure/framework-src/modules/sync.js b/trunk/infrastructure/framework-src/modules/sync.js deleted file mode 100644 index a222ea0..0000000 --- a/trunk/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); - } -} - |