1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
type t = int
let name =
let table =
let open Sys in
[ (sigabrt, "ABRT")
; (sigalrm, "ALRM")
; (sigfpe, "FPE")
; (sighup, "HUP")
; (sigill, "ILL")
; (sigint, "INT")
; (sigkill, "KILL")
; (sigpipe, "PIPE")
; (sigquit, "QUIT")
; (sigsegv, "SEGV")
; (sigterm, "TERM")
; (sigusr1, "USR1")
; (sigusr2, "USR2")
; (sigchld, "CHLD")
; (sigcont, "CONT")
; (sigstop, "STOP")
; (sigtstp, "TSTP")
; (sigttin, "TTIN")
; (sigttou, "TTOU")
; (sigvtalrm, "VTALRM")
; (sigprof, "PROF")
; (sigbus, "BUS")
; (sigpoll, "POLL")
; (sigsys, "SYS")
; (sigtrap, "TRAP")
; (sigurg, "URG")
; (sigxcpu, "XCPU")
; (sigxfsz, "XFSZ")
]
in
fun (n : int) ->
match List.assoc_opt n table with
| None ->
if n > 0 then
Printf.sprintf "%d" n
else
Printf.sprintf "caml:%d" n
| Some s -> s