Commit 954a3dfb30f7a7644240fb0bf36eeab814bf62ae

Authored by Adhidarma Hadiwinoto
1 parent 2a8bd35fde
Exists in master

Hapus debug log pada mutex

Showing 1 changed file with 11 additions and 9 deletions Inline Diff

1 'use strict'; 1 'use strict';
2 2
3 const DEBUGMODE = process.env.NODE_ENV !== 'production';
4
3 const locks = require('locks'); 5 const locks = require('locks');
4 const logger = require('komodo-sdk/logger'); 6 const logger = require('komodo-sdk/logger');
5 7
6 const mutexWaitForOK = locks.createMutex(); 8 const mutexWaitForOK = locks.createMutex();
7 const mutexCommand = locks.createMutex(); 9 const mutexCommand = locks.createMutex();
8 10
9 const mutexSubCommand = locks.createMutex(); 11 const mutexSubCommand = locks.createMutex();
10 12
11 function setLockWaitForOK() { 13 function setLockWaitForOK() {
12 logger.verbose('Entering MUTEX OK'); 14 if (DEBUGMODE) logger.verbose('Entering MUTEX OK');
13 return new Promise((resolve) => { 15 return new Promise((resolve) => {
14 mutexWaitForOK.lock(() => { 16 mutexWaitForOK.lock(() => {
15 logger.verbose('MUTEX OK entered'); 17 if (DEBUGMODE) logger.verbose('MUTEX OK entered');
16 resolve(true); 18 resolve(true);
17 }); 19 });
18 }); 20 });
19 } 21 }
20 22
21 function releaseLockWaitForOK() { 23 function releaseLockWaitForOK() {
22 try { 24 try {
23 logger.verbose('Leaving MUTEX OK'); 25 if (DEBUGMODE) logger.verbose('Leaving MUTEX OK');
24 mutexWaitForOK.unlock(); 26 mutexWaitForOK.unlock();
25 } catch (e) { 27 } catch (e) {
26 // 28 //
27 } 29 }
28 } 30 }
29 31
30 function setLockWaitForCommand() { 32 function setLockWaitForCommand() {
31 logger.verbose('Entering MUTEX Command'); 33 if (DEBUGMODE) logger.verbose('Entering MUTEX Command');
32 return new Promise((resolve) => { 34 return new Promise((resolve) => {
33 mutexCommand.lock(() => { 35 mutexCommand.lock(() => {
34 logger.verbose('MUTEX Command entered'); 36 if (DEBUGMODE) logger.verbose('MUTEX Command entered');
35 resolve(true); 37 resolve(true);
36 }); 38 });
37 }); 39 });
38 } 40 }
39 41
40 function tryLockWaitForCommand() { 42 function tryLockWaitForCommand() {
41 return mutexCommand.tryLock(); 43 return mutexCommand.tryLock();
42 } 44 }
43 45
44 46
45 function releaseLockWaitForCommand() { 47 function releaseLockWaitForCommand() {
46 try { 48 try {
47 logger.verbose('Leaving MUTEX Command'); 49 if (DEBUGMODE) logger.verbose('Leaving MUTEX Command');
48 mutexCommand.unlock(); 50 mutexCommand.unlock();
49 } catch (e) { 51 } catch (e) {
50 // 52 //
51 } 53 }
52 } 54 }
53 55
54 function setLockWaitForSubCommand() { 56 function setLockWaitForSubCommand() {
55 logger.verbose('Entering MUTEX SUBCOMMAND'); 57 if (DEBUGMODE) logger.verbose('Entering MUTEX SUBCOMMAND');
56 return new Promise((resolve) => { 58 return new Promise((resolve) => {
57 mutexSubCommand.lock(() => { 59 mutexSubCommand.lock(() => {
58 logger.verbose('MUTEX SUBCOMMAND entered'); 60 if (DEBUGMODE) logger.verbose('MUTEX SUBCOMMAND entered');
59 resolve(true); 61 resolve(true);
60 }); 62 });
61 }); 63 });
62 } 64 }
63 65
64 function releaseLockWaitForSubCommand() { 66 function releaseLockWaitForSubCommand() {
65 try { 67 try {
66 logger.verbose('Leaving MUTEX SUBCOMMAND'); 68 if (DEBUGMODE) logger.verbose('Leaving MUTEX SUBCOMMAND');
67 mutexSubCommand.unlock(); 69 mutexSubCommand.unlock();
68 } catch (e) { 70 } catch (e) {
69 // 71 //
70 } 72 }
71 } 73 }
72 74
73 exports.setLockWaitForOK = setLockWaitForOK; 75 exports.setLockWaitForOK = setLockWaitForOK;
74 exports.releaseLockWaitForOK = releaseLockWaitForOK; 76 exports.releaseLockWaitForOK = releaseLockWaitForOK;
75 77
76 exports.setLockWaitForCommand = setLockWaitForCommand; 78 exports.setLockWaitForCommand = setLockWaitForCommand;
77 exports.releaseLockWaitForCommand = releaseLockWaitForCommand; 79 exports.releaseLockWaitForCommand = releaseLockWaitForCommand;
78 exports.tryLockWaitForCommand = tryLockWaitForCommand; 80 exports.tryLockWaitForCommand = tryLockWaitForCommand;
79 81
80 exports.setLockWaitForSubCommand = setLockWaitForSubCommand; 82 exports.setLockWaitForSubCommand = setLockWaitForSubCommand;
81 exports.releaseLockWaitForSubCommand = releaseLockWaitForSubCommand; 83 exports.releaseLockWaitForSubCommand = releaseLockWaitForSubCommand;
82 84