blob: 6922cb8ebd1e330dadacbe05b1fb7fbfd33fd64a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
discard """
joinable: false
disabled: windows
"""
import os, osproc, posix, strutils
proc main() =
if paramCount() > 0:
let signal = cint parseInt paramStr(1)
discard posix.raise(signal)
else:
# synchronize this list with lib/system/except.nim:registerSignalHandler()
let fatalSigs = [SIGINT, SIGSEGV, SIGABRT, SIGFPE, SIGILL, SIGBUS,
SIGPIPE]
for s in fatalSigs:
let (_, exitCode) = execCmdEx(quoteShellCommand [getAppFilename(), $s])
doAssert exitCode == 128 + s, "mismatched exit code for signal " & $s
main()
|