Blame view
lib/mutex.js
953 Bytes
cba7eef40
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
'use strict'; const locks = require('locks'); const mutexWaitForOK = locks.createMutex(); const mutexCommand = locks.createMutex(); function setLockWaitForOK() { return new Promise((resolve) => { mutexWaitForOK.lock(() => { resolve(true); }); }); } function releaseLockWaitForOK() { try { mutexWaitForOK.unlock(); } catch (e) { // } } function setLockWaitForCommand() { return new Promise((resolve) => { mutexCommand.lock(() => { resolve(true); }); }); } function releaseLockWaitForCommand() { setTimeout(() => { try { mutexCommand.unlock(); } catch (e) { // } }, 1500); } exports.setLockWaitForOK = setLockWaitForOK; exports.releaseLockWaitForOK = releaseLockWaitForOK; exports.setLockWaitForCommand = setLockWaitForCommand; exports.releaseLockWaitForCommand = releaseLockWaitForCommand; |