Skip to content

Commit 894cb93

Browse files
authored
Merge pull request #11 from RoboVault/fix/windows_support
Wrap signal handlers in try/catch
2 parents 009eafc + 861c7df commit 894cb93

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

cli/start/mod.ts

+14-6
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { ArkiverMetadata } from '../../src/arkiver/arkive-metadata.ts'
99
import { createManifestHandlers } from './logger.ts'
1010
import { colors } from '../../src/deps.ts'
1111

12+
1213
export const action = async (
1314
options: {
1415
manifest?: string
@@ -39,12 +40,19 @@ export const action = async (
3940
Deno.exit(stopRes.code)
4041
}
4142

42-
Deno.addSignalListener('SIGINT', cleanup)
43-
Deno.addSignalListener('SIGHUP', cleanup)
44-
Deno.addSignalListener('SIGTERM', cleanup)
45-
Deno.addSignalListener('SIGQUIT', cleanup)
46-
Deno.addSignalListener('SIGTSTP', cleanup)
47-
Deno.addSignalListener('SIGABRT', cleanup)
43+
const addSignalToCleanup = (signal: string) => {
44+
try {
45+
Deno.addSignalListener('SIGINT', cleanup)
46+
// deno-lint-ignore no-unused-vars no-empty
47+
} catch (e) {}
48+
}
49+
50+
addSignalToCleanup('SIGINT')
51+
addSignalToCleanup('SIGHUP')
52+
addSignalToCleanup('SIGTERM')
53+
addSignalToCleanup('SIGQUIT')
54+
addSignalToCleanup('SIGTSTP')
55+
addSignalToCleanup('SIGABRT')
4856

4957
const containerId =
5058
await $`docker run --name arkiver_mongodb -d -p 27017:27017 --env MONGO_INITDB_ROOT_USERNAME=admin --env MONGO_INITDB_ROOT_PASSWORD=password --rm mongo`

0 commit comments

Comments
 (0)