1 ! (c)2011 Joe Groff bsd license
2 USING: assocs io.backend.unix kernel namespaces sequences
8 SYMBOL: signal-handlers
10 signal-handlers [ H{ } ] initialize
12 : dispatch-signal ( sig -- )
13 signal-handlers get-global at [ in-thread ] each ;
17 : add-signal-handler ( handler: ( -- ) sig -- )
18 signal-handlers get-global push-at ;
20 : remove-signal-handler ( handler sig -- )
21 signal-handlers get-global at [ remove! drop ] [ drop ] if* ;
23 [ dispatch-signal ] dispatch-signal-hook set-global