~ chicken-core (chicken-5) 2cb9111e057f6a995bdf6e3c916abc331404a958
commit 2cb9111e057f6a995bdf6e3c916abc331404a958
Author: Peter Bex <peter@more-magic.net>
AuthorDate: Mon Apr 30 17:57:18 2018 +0200
Commit: Kooda <kooda@upyum.com>
CommitDate: Tue May 1 11:34:02 2018 +0200
Refactor chicken.process.signals so it no longer refers to chicken.posix
Again, similar to the previous commit. This one is very
straightforward.
Signed-off-by: Kooda <kooda@upyum.com>
diff --git a/posix-common.scm b/posix-common.scm
index af338db4..35dd99b8 100644
--- a/posix-common.scm
+++ b/posix-common.scm
@@ -581,17 +581,18 @@ EOF
;;; Signals
-(define (set-signal-handler! sig proc)
- (##sys#check-fixnum sig 'set-signal-handler!)
- (##core#inline "C_establish_signal_handler" sig (and proc sig))
- (vector-set! ##sys#signal-vector sig proc) )
+(set! chicken.process.signal#set-signal-handler!
+ (lambda (sig proc)
+ (##sys#check-fixnum sig 'set-signal-handler!)
+ (##core#inline "C_establish_signal_handler" sig (and proc sig))
+ (vector-set! ##sys#signal-vector sig proc) ) )
-(define signal-handler
+(set! chicken.process.signal#signal-handler
(getter-with-setter
(lambda (sig)
(##sys#check-fixnum sig 'signal-handler)
(##sys#slot ##sys#signal-vector sig) )
- set-signal-handler!))
+ chicken.process.signal#set-signal-handler!))
;;; Processes
diff --git a/posix.scm b/posix.scm
index 89bb0aff..2d74fb54 100644
--- a/posix.scm
+++ b/posix.scm
@@ -262,6 +262,61 @@
) ; chicken.process
+(module chicken.process.signal
+ (set-alarm! set-signal-handler! set-signal-mask!
+ signal-handler signal-mask signal-mask! signal-masked? signal-unmask!
+ signal/abrt signal/alrm signal/break signal/bus signal/chld
+ signal/cont signal/fpe signal/hup signal/ill signal/int signal/io
+ signal/kill signal/pipe signal/prof signal/quit signal/segv
+ signal/stop signal/term signal/trap signal/tstp signal/urg
+ signal/usr1 signal/usr2 signal/vtalrm signal/winch signal/xcpu
+ signal/xfsz signals-list)
+
+(import scheme)
+
+;; These are all set! inside the posix module
+(define set-alarm!)
+(define set-signal-handler!)
+(define set-signal-mask!)
+(define signal-handler)
+
+(define signal-mask)
+(define signal-mask!)
+(define signal-masked?)
+(define signal-unmask!)
+
+(define signal/abrt)
+(define signal/alrm)
+(define signal/break)
+(define signal/bus)
+(define signal/chld)
+(define signal/cont)
+(define signal/fpe)
+(define signal/hup)
+(define signal/ill)
+(define signal/int)
+(define signal/io)
+(define signal/kill)
+(define signal/pipe)
+(define signal/prof)
+(define signal/quit)
+(define signal/segv)
+(define signal/stop)
+(define signal/term)
+(define signal/trap)
+(define signal/tstp)
+(define signal/urg)
+(define signal/usr1)
+(define signal/usr2)
+(define signal/vtalrm)
+(define signal/winch)
+(define signal/xcpu)
+(define signal/xfsz)
+
+(define signals-list)
+) ; chicken.process.signal
+
+
;; This module really does nothing. It is used to keep all the posix
;; stuff in one place, in a clean namespace. The included file will
;; set! values from the modules defined above.
@@ -271,14 +326,7 @@
current-effective-user-name current-group-id current-process-id
current-user-id current-user-name
parent-process-id process-group-id
- set-alarm! set-root-directory! set-signal-handler! set-signal-mask!
- signal-handler signal-mask signal-mask! signal-masked? signal-unmask!
- signal/abrt signal/alrm signal/break signal/bus signal/chld
- signal/cont signal/fpe signal/hup signal/ill signal/int signal/io
- signal/kill signal/pipe signal/prof signal/quit signal/segv
- signal/stop signal/term signal/trap signal/tstp signal/urg
- signal/usr1 signal/usr2 signal/vtalrm signal/winch signal/xcpu
- signal/xfsz signals-list)
+ set-root-directory!)
(import scheme
chicken.base
@@ -346,56 +394,6 @@
) ; chicken.errno
-(module chicken.process.signal
- (set-signal-handler! set-signal-mask! signal-handler signal-mask
- signal-mask! signal-masked? signal-unmask! signal/abrt signal/alrm
- signal/break signal/bus signal/chld signal/cont signal/fpe signal/hup
- signal/ill signal/int signal/io signal/kill signal/pipe signal/prof
- signal/quit signal/segv signal/stop signal/term signal/trap
- signal/tstp signal/urg signal/usr1 signal/usr2 signal/vtalrm
- signal/winch signal/xcpu signal/xfsz set-alarm!)
-
-(import scheme)
-
-(define set-signal-handler! chicken.posix#set-signal-handler!)
-(define set-signal-mask! chicken.posix#set-signal-mask!)
-(define signal-handler chicken.posix#signal-handler)
-
-(define signal-mask chicken.posix#signal-mask)
-(define signal-mask! chicken.posix#signal-mask!)
-(define signal-masked? chicken.posix#signal-masked?)
-(define signal-unmask! chicken.posix#signal-unmask!)
-
-(define signal/abrt chicken.posix#signal/abrt)
-(define signal/alrm chicken.posix#signal/alrm)
-(define signal/break chicken.posix#signal/break)
-(define signal/bus chicken.posix#signal/bus)
-(define signal/chld chicken.posix#signal/chld)
-(define signal/cont chicken.posix#signal/cont)
-(define signal/fpe chicken.posix#signal/fpe)
-(define signal/hup chicken.posix#signal/hup)
-(define signal/ill chicken.posix#signal/ill)
-(define signal/int chicken.posix#signal/int)
-(define signal/io chicken.posix#signal/io)
-(define signal/kill chicken.posix#signal/kill)
-(define signal/pipe chicken.posix#signal/pipe)
-(define signal/prof chicken.posix#signal/prof)
-(define signal/quit chicken.posix#signal/quit)
-(define signal/segv chicken.posix#signal/segv)
-(define signal/stop chicken.posix#signal/stop)
-(define signal/term chicken.posix#signal/term)
-(define signal/trap chicken.posix#signal/trap)
-(define signal/tstp chicken.posix#signal/tstp)
-(define signal/urg chicken.posix#signal/urg)
-(define signal/usr1 chicken.posix#signal/usr1)
-(define signal/usr2 chicken.posix#signal/usr2)
-(define signal/vtalrm chicken.posix#signal/vtalrm)
-(define signal/winch chicken.posix#signal/winch)
-(define signal/xcpu chicken.posix#signal/xcpu)
-(define signal/xfsz chicken.posix#signal/xfsz)
-(define set-alarm! chicken.posix#set-alarm!)
-) ; chicken.process.signal
-
(module chicken.process-context.posix
(change-directory* set-root-directory!
current-effective-group-id current-effective-user-id
diff --git a/posixunix.scm b/posixunix.scm
index 2daade46..157a2cff 100644
--- a/posixunix.scm
+++ b/posixunix.scm
@@ -500,43 +500,64 @@ static int set_file_mtime(char *filename, C_word atime, C_word mtime)
(define-foreign-variable _sigxfsz int "SIGXFSZ")
(define-foreign-variable _sigwinch int "SIGWINCH")
-(define signal/term _sigterm)
-(define signal/kill _sigkill)
-(define signal/int _sigint)
-(define signal/hup _sighup)
-(define signal/fpe _sigfpe)
-(define signal/ill _sigill)
-(define signal/segv _sigsegv)
-(define signal/abrt _sigabrt)
-(define signal/trap _sigtrap)
-(define signal/quit _sigquit)
-(define signal/alrm _sigalrm)
-(define signal/vtalrm _sigvtalrm)
-(define signal/prof _sigprof)
-(define signal/io _sigio)
-(define signal/urg _sigurg)
-(define signal/chld _sigchld)
-(define signal/cont _sigcont)
-(define signal/stop _sigstop)
-(define signal/tstp _sigtstp)
-(define signal/pipe _sigpipe)
-(define signal/xcpu _sigxcpu)
-(define signal/xfsz _sigxfsz)
-(define signal/usr1 _sigusr1)
-(define signal/usr2 _sigusr2)
-(define signal/winch _sigwinch)
-(define signal/bus _sigbus)
-(define signal/break 0)
-
-(define signals-list
+(set! chicken.process.signal#signal/term _sigterm)
+(set! chicken.process.signal#signal/kill _sigkill)
+(set! chicken.process.signal#signal/int _sigint)
+(set! chicken.process.signal#signal/hup _sighup)
+(set! chicken.process.signal#signal/fpe _sigfpe)
+(set! chicken.process.signal#signal/ill _sigill)
+(set! chicken.process.signal#signal/segv _sigsegv)
+(set! chicken.process.signal#signal/abrt _sigabrt)
+(set! chicken.process.signal#signal/trap _sigtrap)
+(set! chicken.process.signal#signal/quit _sigquit)
+(set! chicken.process.signal#signal/alrm _sigalrm)
+(set! chicken.process.signal#signal/vtalrm _sigvtalrm)
+(set! chicken.process.signal#signal/prof _sigprof)
+(set! chicken.process.signal#signal/io _sigio)
+(set! chicken.process.signal#signal/urg _sigurg)
+(set! chicken.process.signal#signal/chld _sigchld)
+(set! chicken.process.signal#signal/cont _sigcont)
+(set! chicken.process.signal#signal/stop _sigstop)
+(set! chicken.process.signal#signal/tstp _sigtstp)
+(set! chicken.process.signal#signal/pipe _sigpipe)
+(set! chicken.process.signal#signal/xcpu _sigxcpu)
+(set! chicken.process.signal#signal/xfsz _sigxfsz)
+(set! chicken.process.signal#signal/usr1 _sigusr1)
+(set! chicken.process.signal#signal/usr2 _sigusr2)
+(set! chicken.process.signal#signal/winch _sigwinch)
+(set! chicken.process.signal#signal/bus _sigbus)
+(set! chicken.process.signal#signal/break 0)
+
+(set! chicken.process.signal#signals-list
(list
- signal/term signal/kill signal/int signal/hup signal/fpe signal/ill
- signal/segv signal/abrt signal/trap signal/quit signal/alrm signal/vtalrm
- signal/prof signal/io signal/urg signal/chld signal/cont signal/stop
- signal/tstp signal/pipe signal/xcpu signal/xfsz signal/usr1 signal/usr2
- signal/winch signal/bus))
-
-(define set-signal-mask!
+ chicken.process.signal#signal/term
+ chicken.process.signal#signal/kill
+ chicken.process.signal#signal/int
+ chicken.process.signal#signal/hup
+ chicken.process.signal#signal/fpe
+ chicken.process.signal#signal/ill
+ chicken.process.signal#signal/segv
+ chicken.process.signal#signal/abrt
+ chicken.process.signal#signal/trap
+ chicken.process.signal#signal/quit
+ chicken.process.signal#signal/alrm
+ chicken.process.signal#signal/vtalrm
+ chicken.process.signal#signal/prof
+ chicken.process.signal#signal/io
+ chicken.process.signal#signal/urg
+ chicken.process.signal#signal/chld
+ chicken.process.signal#signal/cont
+ chicken.process.signal#signal/stop
+ chicken.process.signal#signal/tstp
+ chicken.process.signal#signal/pipe
+ chicken.process.signal#signal/xcpu
+ chicken.process.signal#signal/xfsz
+ chicken.process.signal#signal/usr1
+ chicken.process.signal#signal/usr2
+ chicken.process.signal#signal/winch
+ chicken.process.signal#signal/bus))
+
+(set! chicken.process.signal#set-signal-mask!
(lambda (sigs)
(##sys#check-list sigs 'set-signal-mask!)
(##core#inline "C_sigemptyset" 0)
@@ -548,36 +569,39 @@ static int set_file_mtime(char *filename, C_word atime, C_word mtime)
(when (fx< (##core#inline "C_sigprocmask_set" 0) 0)
(posix-error #:process-error 'set-signal-mask! "cannot set signal mask") )))
-(define signal-mask
+(define chicken.process.signal#signal-mask
(getter-with-setter
(lambda ()
(##core#inline "C_sigprocmask_get" 0)
- (let loop ([sigs signals-list] [mask '()])
+ (let loop ((sigs chicken.process.signal#signals-list) (mask '()))
(if (null? sigs)
mask
(let ([sig (car sigs)])
(loop (cdr sigs)
(if (##core#inline "C_sigismember" sig) (cons sig mask) mask)) ) ) ) )
- set-signal-mask!))
+ chicken.process.signal#set-signal-mask!))
-(define (signal-masked? sig)
- (##sys#check-fixnum sig 'signal-masked?)
- (##core#inline "C_sigprocmask_get" 0)
- (##core#inline "C_sigismember" sig) )
+(set! chicken.process.signal#signal-masked?
+ (lambda (sig)
+ (##sys#check-fixnum sig 'signal-masked?)
+ (##core#inline "C_sigprocmask_get" 0)
+ (##core#inline "C_sigismember" sig)) )
-(define (signal-mask! sig)
- (##sys#check-fixnum sig 'signal-mask!)
- (##core#inline "C_sigemptyset" 0)
- (##core#inline "C_sigaddset" sig)
- (when (fx< (##core#inline "C_sigprocmask_block" 0) 0)
- (posix-error #:process-error 'signal-mask! "cannot block signal") ))
+(set! chicken.process.signal#signal-mask!
+ (lambda (sig)
+ (##sys#check-fixnum sig 'signal-mask!)
+ (##core#inline "C_sigemptyset" 0)
+ (##core#inline "C_sigaddset" sig)
+ (when (fx< (##core#inline "C_sigprocmask_block" 0) 0)
+ (posix-error #:process-error 'signal-mask! "cannot block signal") )))
-(define (signal-unmask! sig)
- (##sys#check-fixnum sig 'signal-unmask!)
- (##core#inline "C_sigemptyset" 0)
- (##core#inline "C_sigaddset" sig)
- (when (fx< (##core#inline "C_sigprocmask_unblock" 0) 0)
- (posix-error #:process-error 'signal-unmask! "cannot unblock signal") ) )
+(set! chicken.process.signal#signal-unmask!
+ (lambda (sig)
+ (##sys#check-fixnum sig 'signal-unmask!)
+ (##core#inline "C_sigemptyset" 0)
+ (##core#inline "C_sigaddset" sig)
+ (when (fx< (##core#inline "C_sigprocmask_unblock" 0) 0)
+ (posix-error #:process-error 'signal-unmask! "cannot unblock signal") )) )
;;; Getting group- and user-information:
@@ -1043,7 +1067,8 @@ static int set_file_mtime(char *filename, C_word atime, C_word mtime)
;;; Other things:
-(define set-alarm! (foreign-lambda int "C_alarm" int))
+(set! chicken.process.signal#set-alarm!
+ (foreign-lambda int "C_alarm" int))
;;; Process handling:
diff --git a/posixwin.scm b/posixwin.scm
index caaa3e06..28932fae 100644
--- a/posixwin.scm
+++ b/posixwin.scm
@@ -627,39 +627,43 @@ static int set_file_mtime(char *filename, C_word atime, C_word mtime)
(define-foreign-variable _sigabrt int "SIGABRT")
(define-foreign-variable _sigbreak int "SIGBREAK")
-(define signal/term _sigterm)
-(define signal/int _sigint)
-(define signal/fpe _sigfpe)
-(define signal/ill _sigill)
-(define signal/segv _sigsegv)
-(define signal/abrt _sigabrt)
-(define signal/break _sigbreak)
-(define signal/alrm 0)
-(define signal/bus 0)
-(define signal/chld 0)
-(define signal/cont 0)
-(define signal/hup 0)
-(define signal/io 0)
-(define signal/kill 0)
-(define signal/pipe 0)
-(define signal/prof 0)
-(define signal/quit 0)
-(define signal/stop 0)
-(define signal/trap 0)
-(define signal/tstp 0)
-(define signal/urg 0)
-(define signal/usr1 0)
-(define signal/usr2 0)
-(define signal/vtalrm 0)
-(define signal/winch 0)
-(define signal/xcpu 0)
-(define signal/xfsz 0)
-
-(define signals-list
+(set! chicken.process.signal#signal/term _sigterm)
+(set! chicken.process.signal#signal/int _sigint)
+(set! chicken.process.signal#signal/fpe _sigfpe)
+(set! chicken.process.signal#signal/ill _sigill)
+(set! chicken.process.signal#signal/segv _sigsegv)
+(set! chicken.process.signal#signal/abrt _sigabrt)
+(set! chicken.process.signal#signal/break _sigbreak)
+(set! chicken.process.signal#signal/alrm 0)
+(set! chicken.process.signal#signal/bus 0)
+(set! chicken.process.signal#signal/chld 0)
+(set! chicken.process.signal#signal/cont 0)
+(set! chicken.process.signal#signal/hup 0)
+(set! chicken.process.signal#signal/io 0)
+(set! chicken.process.signal#signal/kill 0)
+(set! chicken.process.signal#signal/pipe 0)
+(set! chicken.process.signal#signal/prof 0)
+(set! chicken.process.signal#signal/quit 0)
+(set! chicken.process.signal#signal/stop 0)
+(set! chicken.process.signal#signal/trap 0)
+(set! chicken.process.signal#signal/tstp 0)
+(set! chicken.process.signal#signal/urg 0)
+(set! chicken.process.signal#signal/usr1 0)
+(set! chicken.process.signal#signal/usr2 0)
+(set! chicken.process.signal#signal/vtalrm 0)
+(set! chicken.process.signal#signal/winch 0)
+(set! chicken.process.signal#signal/xcpu 0)
+(set! chicken.process.signal#signal/xfsz 0)
+
+(set! chicken.process.signal#signals-list
(list
- signal/term signal/int signal/fpe signal/ill
- signal/segv signal/abrt signal/break))
-
+ chicken.process.signal#signal/term
+ chicken.process.signal#signal/int
+ chicken.process.signal#signal/fpe
+ chicken.process.signal#signal/ill
+ chicken.process.signal#signal/segv
+ chicken.process.signal#signal/abrt
+ chicken.process.signal#signal/break))
;;; Using file-descriptors:
@@ -891,16 +895,16 @@ static int set_file_mtime(char *filename, C_word atime, C_word mtime)
(define-unimplemented process-group-id)
(set!-unimplemented chicken.process#process-signal)
(set!-unimplemented chicken.file.posix#read-symbolic-link)
-(define-unimplemented set-alarm!)
+(set!-unimplemented chicken.process.signal#set-alarm!)
(define-unimplemented set-group-id!)
(define-unimplemented set-process-group-id!)
(define-unimplemented set-root-directory!)
-(define-unimplemented set-signal-mask!)
+(set!-unimplemented chicken.process.signal#set-signal-mask!)
(define-unimplemented set-user-id!)
-(define-unimplemented signal-mask)
-(define-unimplemented signal-mask!)
-(define-unimplemented signal-masked?)
-(define-unimplemented signal-unmask!)
+(set!-unimplemented chicken.process.signal#signal-mask)
+(set!-unimplemented chicken.process.signal#signal-mask!)
+(set!-unimplemented chicken.process.signal#signal-masked?)
+(set!-unimplemented chicken.process.signal#signal-unmask!)
(define-unimplemented user-information)
(set!-unimplemented chicken.time.posix#utc-time->seconds)
(set!-unimplemented chicken.time.posix#string->time)
diff --git a/types.db b/types.db
index ff18fa4f..b890b52b 100644
--- a/types.db
+++ b/types.db
@@ -2048,42 +2048,7 @@
(chicken.posix#parent-process-id (#(procedure #:clean) chicken.posix#parent-process-id () fixnum))
(chicken.posix#process-group-id (#(procedure #:clean #:enforce) chicken.posix#process-group-id () fixnum))
-(chicken.posix#set-alarm! (#(procedure #:clean #:enforce) chicken.posix#set-alarm! (integer) integer))
(chicken.posix#set-root-directory! (#(procedure #:clean #:enforce) chicken.posix#set-root-directory! (string) undefined))
-(chicken.posix#set-signal-handler! (#(procedure #:clean #:enforce) chicken.posix#set-signal-handler! (fixnum (or false (procedure (fixnum) . *))) undefined))
-(chicken.posix#set-signal-mask! (#(procedure #:clean #:enforce) chicken.posix#set-signal-mask! ((list-of fixnum)) undefined))
-(chicken.posix#signal-handler (#(procedure #:clean #:enforce) chicken.posix#signal-handler (fixnum) (or false (procedure (fixnum) . *))))
-(chicken.posix#signal-mask (#(procedure #:clean) chicken.posix#signal-mask () fixnum))
-(chicken.posix#signal-mask! (#(procedure #:clean #:enforce) chicken.posix#signal-mask! (fixnum) undefined))
-(chicken.posix#signal-masked? (#(procedure #:clean #:enforce) chicken.posix#signal-masked? (fixnum) boolean))
-(chicken.posix#signal-unmask! (#(procedure #:clean #:enforce) chicken.posix#signal-unmask! (fixnum) undefined))
-(chicken.posix#signal/abrt fixnum)
-(chicken.posix#signal/alrm fixnum)
-(chicken.posix#signal/chld fixnum)
-(chicken.posix#signal/cont fixnum)
-(chicken.posix#signal/fpe fixnum)
-(chicken.posix#signal/hup fixnum)
-(chicken.posix#signal/ill fixnum)
-(chicken.posix#signal/int fixnum)
-(chicken.posix#signal/io fixnum)
-(chicken.posix#signal/bus fixnum)
-(chicken.posix#signal/kill fixnum)
-(chicken.posix#signal/pipe fixnum)
-(chicken.posix#signal/prof fixnum)
-(chicken.posix#signal/quit fixnum)
-(chicken.posix#signal/segv fixnum)
-(chicken.posix#signal/stop fixnum)
-(chicken.posix#signal/term fixnum)
-(chicken.posix#signal/trap fixnum)
-(chicken.posix#signal/tstp fixnum)
-(chicken.posix#signal/urg fixnum)
-(chicken.posix#signal/usr1 fixnum)
-(chicken.posix#signal/usr2 fixnum)
-(chicken.posix#signal/vtalrm fixnum)
-(chicken.posix#signal/winch fixnum)
-(chicken.posix#signal/xcpu fixnum)
-(chicken.posix#signal/xfsz fixnum)
-(chicken.posix#signals-list list)
(chicken.posix#user-information (#(procedure #:clean #:enforce) chicken.posix#user-information ((or string fixnum) #!optional *) *))
;; process
@@ -2119,6 +2084,47 @@
(chicken.process#spawn/nowaito fixnum)
(chicken.process#spawn/detach fixnum)
+
+;; process.signal
+
+(chicken.process.signal#set-alarm! (#(procedure #:clean #:enforce) chicken.process#set-alarm! (integer) integer))
+(chicken.process.signal#set-signal-handler! (#(procedure #:clean #:enforce) chicken.process.signal#set-signal-handler! (fixnum (or false (procedure (fixnum) . *))) undefined))
+(chicken.process.signal#set-signal-mask! (#(procedure #:clean #:enforce) chicken.process.signal#set-signal-mask! ((list-of fixnum)) undefined))
+(chicken.process.signal#signal-handler (#(procedure #:clean #:enforce) chicken.process.signal#signal-handler (fixnum) (or false (procedure (fixnum) . *))))
+(chicken.process.signal#signal-mask (#(procedure #:clean) chicken.process.signal#signal-mask () fixnum))
+(chicken.process.signal#signal-mask! (#(procedure #:clean #:enforce) chicken.process.signal#signal-mask! (fixnum) undefined))
+(chicken.process.signal#signal-masked? (#(procedure #:clean #:enforce) chicken.process.signal#signal-masked? (fixnum) boolean))
+(chicken.process.signal#signal-unmask! (#(procedure #:clean #:enforce) chicken.process.signal#signal-unmask! (fixnum) undefined))
+
+(chicken.process.signal#signal/abrt fixnum)
+(chicken.process.signal#signal/alrm fixnum)
+(chicken.process.signal#signal/chld fixnum)
+(chicken.process.signal#signal/cont fixnum)
+(chicken.process.signal#signal/fpe fixnum)
+(chicken.process.signal#signal/hup fixnum)
+(chicken.process.signal#signal/ill fixnum)
+(chicken.process.signal#signal/int fixnum)
+(chicken.process.signal#signal/io fixnum)
+(chicken.process.signal#signal/bus fixnum)
+(chicken.process.signal#signal/kill fixnum)
+(chicken.process.signal#signal/pipe fixnum)
+(chicken.process.signal#signal/prof fixnum)
+(chicken.process.signal#signal/quit fixnum)
+(chicken.process.signal#signal/segv fixnum)
+(chicken.process.signal#signal/stop fixnum)
+(chicken.process.signal#signal/term fixnum)
+(chicken.process.signal#signal/trap fixnum)
+(chicken.process.signal#signal/tstp fixnum)
+(chicken.process.signal#signal/urg fixnum)
+(chicken.process.signal#signal/usr1 fixnum)
+(chicken.process.signal#signal/usr2 fixnum)
+(chicken.process.signal#signal/vtalrm fixnum)
+(chicken.process.signal#signal/winch fixnum)
+(chicken.process.signal#signal/xcpu fixnum)
+(chicken.process.signal#signal/xfsz fixnum)
+(chicken.process.signal#signals-list (list-of fixnum))
+
+
;; sort
(chicken.sort#merge
Trap