! Copyright (C) 2008 John Benediktsson ! See http://factorcode.org/license.txt for BSD license USING: alien alien.syntax ; IN: signals : SIGHUP 1 ; inline : SIGINT 2 ; inline : SIGQUIT 3 ; inline : SIGILL 4 ; inline : SIGTRAP 5 ; inline : SIGABRT 6 ; inline : SIGEMT 7 ; inline : SIGFPE 8 ; inline : SIGKILL 9 ; inline : SIGBUS 10 ; inline : SIGSEGV 11 ; inline : SIGSYS 12 ; inline : SIGPIPE 13 ; inline : SIGALRM 14 ; inline : SIGTERM 15 ; inline : SIGURG 16 ; inline : SIGSTOP 17 ; inline : SIGTSTP 18 ; inline : SIGCONT 19 ; inline : SIGCHLD 20 ; inline : SIGTTIN 21 ; inline : SIGTTOU 22 ; inline : SIGIO 23 ; inline : SIGXCPU 24 ; inline : SIGXFSZ 25 ; inline : SIGVTALRM 26 ; inline : SIGPROF 27 ; inline : SIGWINCH 28 ; inline : SIGINFO 29 ; inline : SIGUSR1 30 ; inline : SIGUSR2 31 ; inline : SIG_DFL 0 ; inline : SIG_IGN 1 ; inline : SIG_ERR -1 ; inline USE: namespaces : signal-callback ( -- alien ) "void" { "int" } "cdecl" [ "last-signal" set-global ] alien-callback ; : (signal) ( sig alien -- oldalien ) "void*" "libc" "signal" { "int" "void*" } alien-invoke ;