Paste: signals

Author: mrjbq7
Mode: factor
Date: Mon, 6 Oct 2008 20:53:34
Plain Text |
! 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 ;

New Annotation

Summary:
Author:
Mode:
Body: