[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-hackers] [PATCH 8/8] Add chicken.process.signal module
From: |
Evan Hanson |
Subject: |
[Chicken-hackers] [PATCH 8/8] Add chicken.process.signal module |
Date: |
Thu, 2 Mar 2017 21:50:44 +1300 |
Also adds a stub for `signal/bus` on Windows so that the list of
signal/* values is the same on both platforms.
---
README | 1 +
chicken-install.scm | 1 +
defaults.make | 2 +-
distribution/manifest | 2 ++
posix.scm | 10 ++++++++++
posixwin.scm | 3 ++-
rules.make | 3 +++
7 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/README b/README
index c242fc91..b7c7e480 100644
--- a/README
+++ b/README
@@ -302,6 +302,7 @@
| | |-- chicken.posix.import.so
| | |-- chicken.pretty-print.import.so
| | |-- chicken.process.import.so
+ | | |-- chicken.process.signal.import.so
| | |-- chicken.random.import.so
| | |-- chicken.repl.import.so
| | |-- chicken.read-syntax.import.so
diff --git a/chicken-install.scm b/chicken-install.scm
index 754c456b..f9f81ba4 100644
--- a/chicken-install.scm
+++ b/chicken-install.scm
@@ -72,6 +72,7 @@
"chicken.posix.import.so"
"chicken.pretty-print.import.so"
"chicken.process.import.so"
+ "chicken.process.signal.import.so"
"chicken.random.import.so"
"chicken.repl.import.so"
"chicken.read-syntax.import.so"
diff --git a/defaults.make b/defaults.make
index d0e5f18b..1a62e280 100644
--- a/defaults.make
+++ b/defaults.make
@@ -267,7 +267,7 @@ PRIMITIVE_IMPORT_LIBRARIES = chicken chicken.csi
chicken.foreign
DYNAMIC_IMPORT_LIBRARIES = setup-api setup-download srfi-4
DYNAMIC_CHICKEN_IMPORT_LIBRARIES = bitwise errno file.posix fixnum flonum \
format gc io keyword locative memory posix pretty-print process \
- random time time.posix
+ process.signal random time time.posix
DYNAMIC_CHICKEN_COMPILER_IMPORT_LIBRARIES = user-pass
DYNAMIC_CHICKEN_UNIT_IMPORT_LIBRARIES = continuation data-structures \
eval expand file files internal irregex lolevel pathname port \
diff --git a/distribution/manifest b/distribution/manifest
index 5f7e9ed2..fe61831d 100644
--- a/distribution/manifest
+++ b/distribution/manifest
@@ -319,6 +319,8 @@ chicken.pretty-print.import.scm
chicken.pretty-print.import.c
chicken.process.import.scm
chicken.process.import.c
+chicken.process.signal.import.scm
+chicken.process.signal.import.c
chicken.random.import.scm
chicken.random.import.c
chicken.read-syntax.import.scm
diff --git a/posix.scm b/posix.scm
index d403c3d4..39eeb556 100644
--- a/posix.scm
+++ b/posix.scm
@@ -146,3 +146,13 @@
(string delim)
(apply string-append escaped-parts)
(string delim)))))
+
+(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 chicken chicken.posix))
diff --git a/posixwin.scm b/posixwin.scm
index c42b5f6e..7a10a707 100644
--- a/posixwin.scm
+++ b/posixwin.scm
@@ -659,7 +659,7 @@ EOF
set-signal-handler! set-signal-mask! signal-handler
signal-mask signal-mask! signal-masked? signal-unmask! signal/abrt
signal/alrm signal/break signal/chld signal/cont signal/fpe
- #;signal/bus signal/hup signal/ill signal/int signal/io signal/kill
+ signal/bus 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
@@ -961,6 +961,7 @@ EOF
(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)
diff --git a/rules.make b/rules.make
index ba99cb6e..5462cf90 100644
--- a/rules.make
+++ b/rules.make
@@ -523,6 +523,7 @@ $(eval $(call
declare-emitted-import-lib-dependency,chicken.errno,$(POSIXFILE)))
$(eval $(call
declare-emitted-import-lib-dependency,chicken.file.posix,$(POSIXFILE)))
$(eval $(call
declare-emitted-import-lib-dependency,chicken.time.posix,$(POSIXFILE)))
$(eval $(call
declare-emitted-import-lib-dependency,chicken.process,$(POSIXFILE)))
+$(eval $(call
declare-emitted-import-lib-dependency,chicken.process.signal,$(POSIXFILE)))
$(eval $(call declare-emitted-import-lib-dependency,chicken.bitwise,library))
$(eval $(call declare-emitted-import-lib-dependency,chicken.fixnum,library))
$(eval $(call declare-emitted-import-lib-dependency,chicken.flonum,library))
@@ -813,6 +814,7 @@ posixunix.c: $(SRCDIR)posix.scm $(SRCDIR)posixunix.scm
$(SRCDIR)posix-common.scm
-emit-import-library chicken.file.posix \
-emit-import-library chicken.time.posix \
-emit-import-library chicken.process \
+ -emit-import-library chicken.process.signal \
-emit-import-library chicken.posix
posixwin.c: $(SRCDIR)posix.scm $(SRCDIR)posixwin.scm $(SRCDIR)posix-common.scm
$(SRCDIR)common-declarations.scm
$(bootstrap-lib) -feature platform-windows \
@@ -820,6 +822,7 @@ posixwin.c: $(SRCDIR)posix.scm $(SRCDIR)posixwin.scm
$(SRCDIR)posix-common.scm $
-emit-import-library chicken.file.posix \
-emit-import-library chicken.time.posix \
-emit-import-library chicken.process \
+ -emit-import-library chicken.process.signal \
-emit-import-library chicken.posix
irregex.c: $(SRCDIR)irregex.scm $(SRCDIR)irregex-core.scm
$(SRCDIR)irregex-utils.scm $(SRCDIR)common-declarations.scm
$(bootstrap-lib) -emit-import-library chicken.irregex
--
2.11.0
- [Chicken-hackers] [PATCH 0/8] Add posix replacement modules, Evan Hanson, 2017/03/02
- [Chicken-hackers] [PATCH 8/8] Add chicken.process.signal module,
Evan Hanson <=
- [Chicken-hackers] [PATCH 5/8] Add chicken.file.posix module, Evan Hanson, 2017/03/02
- [Chicken-hackers] [PATCH 2/8] Rename chicken.ports module to chicken.port, Evan Hanson, 2017/03/02
- [Chicken-hackers] [PATCH 7/8] Add chicken.process module, Evan Hanson, 2017/03/02
- [Chicken-hackers] [PATCH 3/8] Add posix.scm file that wraps platform-specific posix implementations, Evan Hanson, 2017/03/02
- [Chicken-hackers] [PATCH 6/8] Add chicken.time.posix module, Evan Hanson, 2017/03/02
- [Chicken-hackers] [PATCH 1/8] Add chicken.file module, Evan Hanson, 2017/03/02
- [Chicken-hackers] [PATCH 4/8] Deduplicate the Unix and Windows chicken.errno module definitions, Evan Hanson, 2017/03/02
- Re: [Chicken-hackers] [PATCH 1/8] Add chicken.file module, felix . winkelmann, 2017/03/02