system/excpt: let the OS handle termination on signal (#16712)
This commit is contained in:
parent
95664e1524
commit
ccc0667c29
4 changed files with 46 additions and 3 deletions
20
tests/system/tsigexitcode.nim
Normal file
20
tests/system/tsigexitcode.nim
Normal file
|
|
@ -0,0 +1,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()
|
||||
Loading…
Add table
Add a link
Reference in a new issue