| 78 | // This function is used to get the random available TCP port |
| 79 | // if fixedPort is set to 0. Else check whether port is in used or not. |
| 80 | export const getAvailablePort = (fixedPort) => { |
| 81 | return new Promise(function(resolve, reject) { |
| 82 | const server = net.createServer(); |
| 83 | |
| 84 | server.listen(fixedPort, '127.0.0.1'); |
| 85 | |
| 86 | server.on('error', (e) => { |
| 87 | reject(e instanceof Error ? e : new Error(e.code)); |
| 88 | }); |
| 89 | |
| 90 | server.on('listening', () => { |
| 91 | let serverPort = server.address().port; |
| 92 | server.close(); |
| 93 | resolve(serverPort); |
| 94 | }); |
| 95 | }); |
| 96 | }; |
| 97 | |
| 98 | // Get the app data folder path |
| 99 | const serverLogFile = path.join(getLocalAppDataPath(), 'pgadmin4.' + (new Date()).getTime().toString() + '.log'); |