1 ! Copyright (C) 2011 Joe Groff.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: assocs io.backend.unix kernel namespaces sequences
9 SYMBOL: signal-handlers
11 signal-handlers [ H{ } ] initialize
13 : dispatch-signal ( sig -- )
14 signal-handlers get-global at [ in-thread ] each ;
18 : add-signal-handler ( handler: ( -- ) sig -- )
19 signal-handlers get-global push-at ;
21 : remove-signal-handler ( handler sig -- )
22 signal-handlers get-global at [ remove! drop ] [ drop ] if* ;
24 [ dispatch-signal ] dispatch-signal-hook set-global