]> gitweb.factorcode.org Git - factor.git/blob - basis/unix/signals/signals.factor
Update some copyright headers to follow the current convention
[factor.git] / basis / unix / signals / signals.factor
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
4 threads ;
5 IN: unix.signals
6
7 <PRIVATE
8
9 SYMBOL: signal-handlers
10
11 signal-handlers [ H{ } ] initialize
12
13 : dispatch-signal ( sig -- )
14     signal-handlers get-global at [ in-thread ] each ;
15
16 PRIVATE>
17
18 : add-signal-handler ( handler: ( -- ) sig -- )
19     signal-handlers get-global push-at ;
20
21 : remove-signal-handler ( handler sig -- )
22     signal-handlers get-global at [ remove! drop ] [ drop ] if* ;
23
24 [ dispatch-signal ] dispatch-signal-hook set-global