@connectedcars/device-modules
Advanced tools
Comparing version 0.1.0 to 0.1.1
@@ -26,20 +26,30 @@ "use strict"; | ||
async function kill(runProcess, isSudo) { | ||
if (isSudo === true) { | ||
var _runProcess$stderr, _runProcess$stdin, _runProcess$stdout; | ||
var _runProcess$stderr, _runProcess$stdin, _runProcess$stdout; | ||
try { | ||
await run(`kill -9 ${runProcess.pid}`, 10000, true); | ||
} catch (err) { | ||
// Only ignore if there's no process (it's dead already) | ||
if (new RegExp(`No such process`).test(err.message) === false) { | ||
throw new Error(`Couldn't kill a process with pid: ${runProcess.pid}\n${err.message}`); | ||
} | ||
if (isSudo === false) { | ||
return await runProcess.stop(); | ||
} | ||
try { | ||
await run(`kill -9 ${runProcess.pid}`, 10000, true); | ||
} catch (err) { | ||
// Only ignore if there's no process (it's dead already) | ||
if (new RegExp(`No such process`).test(err.message) === false) { | ||
throw new Error(`Couldn't kill a process with pid: ${runProcess.pid}\n${err.message}`); | ||
} | ||
} // Manual hacky way to shut runProcess down with sudo (Process is dead, it's just runProcess not having the information since we kill it outside) | ||
await ((_runProcess$stderr = runProcess['stderr']) === null || _runProcess$stderr === void 0 ? void 0 : _runProcess$stderr.emit('end')); | ||
await ((_runProcess$stdin = runProcess['stdin']) === null || _runProcess$stdin === void 0 ? void 0 : _runProcess$stdin.emit('end')); | ||
await ((_runProcess$stdout = runProcess['stdout']) === null || _runProcess$stdout === void 0 ? void 0 : _runProcess$stdout.emit('end')); | ||
} | ||
return await runProcess.stop(); | ||
(_runProcess$stderr = runProcess['stderr']) === null || _runProcess$stderr === void 0 ? void 0 : _runProcess$stderr.emit('end'); | ||
(_runProcess$stdin = runProcess['stdin']) === null || _runProcess$stdin === void 0 ? void 0 : _runProcess$stdin.emit('end'); | ||
(_runProcess$stdout = runProcess['stdout']) === null || _runProcess$stdout === void 0 ? void 0 : _runProcess$stdout.emit('end'); | ||
runProcess['running'] = false; | ||
runProcess['stopped'] = true; | ||
runProcess['exitPromise'] = Promise.resolve({ | ||
code: 0, | ||
signal: null | ||
}); | ||
await (0, _util.sleepSecsAndUpdate)(0.2); // Wait for stuff to be closed. Running and stopped mignt not be set on this tick, meaning runProcess will throw. | ||
return await runProcess['stopPromise']; | ||
} | ||
@@ -46,0 +56,0 @@ /** |
{ | ||
"name": "@connectedcars/device-modules", | ||
"version": "0.1.0", | ||
"version": "0.1.1", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "build/dist/src/index.js", |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
59134
21
504