~ chicken-core (chicken-5) 6f51f3570b6e69835d79a0f75f9d03f2d1705b4f
commit 6f51f3570b6e69835d79a0f75f9d03f2d1705b4f
Author: Peter Bex <peter@more-magic.net>
AuthorDate: Mon Apr 30 19:00:49 2018 +0200
Commit: Kooda <kooda@upyum.com>
CommitDate: Tue May 1 11:38:00 2018 +0200
Refactor chicken.process-context.posix so it no longer refers to chicken.posix
Again, similar to the previous commit and also very straightforward.
This is the last module to convert; the export list of chicken.posix
is now empty!
Signed-off-by: Kooda <kooda@upyum.com>
diff --git a/posix-common.scm b/posix-common.scm
index 35dd99b8..ea8cf78d 100644
--- a/posix-common.scm
+++ b/posix-common.scm
@@ -499,16 +499,19 @@ EOF
;;; Set or get current directory by file descriptor:
-(define (change-directory* fd)
- (##sys#check-fixnum fd 'change-directory*)
- (unless (fx= 0 (##core#inline "C_fchdir" fd))
- (posix-error #:file-error 'change-directory* "cannot change current directory" fd))
- fd)
+(set! chicken.process-context.posix#change-directory*
+ (lambda (fd)
+ (##sys#check-fixnum fd 'change-directory*)
+ (unless (fx= 0 (##core#inline "C_fchdir" fd))
+ (posix-error #:file-error 'change-directory* "cannot change current directory" fd))
+ fd))
(set! ##sys#change-directory-hook
(let ((cd ##sys#change-directory-hook))
(lambda (dir)
- ((if (fixnum? dir) change-directory* cd) dir))))
+ ((if (fixnum? dir)
+ chicken.process-context.posix#change-directory*
+ cd) dir))))
;;; umask
diff --git a/posix.scm b/posix.scm
index 2d74fb54..6ef41dfb 100644
--- a/posix.scm
+++ b/posix.scm
@@ -317,16 +317,36 @@
) ; 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.
-(module chicken.posix
- (change-directory* create-session
+(module chicken.process-context.posix
+ (change-directory* set-root-directory!
current-effective-group-id current-effective-user-id
- current-effective-user-name current-group-id current-process-id
- current-user-id current-user-name
- parent-process-id process-group-id
- set-root-directory!)
+ current-group-id current-process-id current-user-id
+ parent-process-id current-user-name
+ current-effective-user-name create-session
+ process-group-id user-information)
+
+(import scheme)
+
+(define change-directory*)
+(define set-root-directory!)
+(define current-effective-group-id)
+(define current-effective-user-id)
+(define current-group-id)
+(define current-process-id)
+(define current-user-id)
+(define parent-process-id)
+(define current-user-name)
+(define current-effective-user-name)
+(define create-session)
+(define process-group-id)
+(define user-information)
+) ; chicken.process-context.posix
+
+
+;; This module really exports 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.
+(module chicken.posix ()
(import scheme
chicken.base
@@ -392,29 +412,3 @@
(define errno/wouldblock _ewouldblock)
(define errno/xdev _exdev)
) ; chicken.errno
-
-
-(module chicken.process-context.posix
- (change-directory* set-root-directory!
- current-effective-group-id current-effective-user-id
- current-group-id current-process-id current-user-id
- parent-process-id current-user-name
- current-effective-user-name create-session
- process-group-id user-information)
-
-(import scheme)
-
-(define change-directory* chicken.posix#change-directory*)
-(define set-root-directory! chicken.posix#set-root-directory!)
-(define current-effective-group-id chicken.posix#current-effective-group-id)
-(define current-effective-user-id chicken.posix#current-effective-user-id)
-(define current-group-id chicken.posix#current-group-id)
-(define current-process-id chicken.posix#current-process-id)
-(define current-user-id chicken.posix#current-user-id)
-(define parent-process-id chicken.posix#parent-process-id)
-(define current-user-name chicken.posix#current-user-name)
-(define current-effective-user-name chicken.posix#current-effective-user-name)
-(define create-session chicken.posix#create-session)
-(define process-group-id chicken.posix#process-group-id)
-(define user-information chicken.posix#user-information)
-) ; chicken.process-context.posix
diff --git a/posixunix.scm b/posixunix.scm
index 157a2cff..3fd30dbd 100644
--- a/posixunix.scm
+++ b/posixunix.scm
@@ -612,7 +612,7 @@ static int set_file_mtime(char *filename, C_word atime, C_word mtime)
(lambda (id)
(when (fx< (##core#inline "C_setuid" id) 0)
(##sys#update-errno)
- (##sys#error 'set-user-id! "cannot set user ID" id) ) )
+ (##sys#error 'current-user-id!-setter "cannot set user ID" id) ) )
"(current-user-id)"))
(define current-effective-user-id
@@ -631,7 +631,7 @@ static int set_file_mtime(char *filename, C_word atime, C_word mtime)
(lambda (id)
(when (fx< (##core#inline "C_setgid" id) 0)
(##sys#update-errno)
- (##sys#error 'set-user-id! "cannot set group ID" id) ) )
+ (##sys#error 'current-group-id!-setter "cannot set group ID" id) ) )
"(current-group-id)") )
(define current-effective-group-id
@@ -709,11 +709,11 @@ static int set_file_mtime(char *filename, C_word atime, C_word mtime)
(##sys#error 'process-group-id "cannot retrieve process group ID" pid) )
a))
(lambda (pid pgid)
- (##sys#check-fixnum pid 'set-process-group-id!)
- (##sys#check-fixnum pgid 'set-process-group-id!)
+ (##sys#check-fixnum pid 'process-group)
+ (##sys#check-fixnum pgid 'process-group)
(when (fx< (##core#inline "C_setpgid" pid pgid) 0)
(##sys#update-errno)
- (##sys#error 'set-process-group-id! "cannot set process group ID" pid pgid) ) )
+ (##sys#error 'process-group "cannot set process group ID" pid pgid) ) )
"(process-group-id pid)"))
diff --git a/posixwin.scm b/posixwin.scm
index 28932fae..fef66b8f 100644
--- a/posixwin.scm
+++ b/posixwin.scm
@@ -875,13 +875,13 @@ static int set_file_mtime(char *filename, C_word atime, C_word mtime)
(define-unimplemented chown) ; covers set-file-group! and set-file-owner!
(set!-unimplemented chicken.file.posix#create-fifo)
-(define-unimplemented create-session)
+(set!-unimplemented chicken.process-context.posix#create-session)
(set!-unimplemented chicken.file.posix#create-symbolic-link)
-(define-unimplemented current-effective-group-id)
-(define-unimplemented current-effective-user-id)
-(define-unimplemented current-effective-user-name)
-(define-unimplemented current-group-id)
-(define-unimplemented current-user-id)
+(set!-unimplemented chicken.process-context.posix#current-effective-group-id)
+(set!-unimplemented chicken.process-context.posix#current-effective-user-id)
+(set!-unimplemented chicken.process-context.posix#current-effective-user-name)
+(set!-unimplemented chicken.process-context.posix#current-group-id)
+(set!-unimplemented chicken.process-context.posix#current-user-id)
(set!-unimplemented chicken.file.posix#file-control)
(set!-unimplemented chicken.file.posix#file-link)
(set!-unimplemented chicken.file.posix#file-lock)
@@ -890,22 +890,19 @@ static int set_file_mtime(char *filename, C_word atime, C_word mtime)
(set!-unimplemented chicken.file.posix#file-test-lock)
(set!-unimplemented chicken.file.posix#file-truncate)
(set!-unimplemented chicken.file.posix#file-unlock)
-(define-unimplemented parent-process-id)
+(set!-unimplemented chicken.process-context.posix#parent-process-id)
(set!-unimplemented chicken.process#process-fork)
-(define-unimplemented process-group-id)
+(set!-unimplemented chicken.process-context.posix#process-group-id)
(set!-unimplemented chicken.process#process-signal)
(set!-unimplemented chicken.file.posix#read-symbolic-link)
(set!-unimplemented chicken.process.signal#set-alarm!)
-(define-unimplemented set-group-id!)
-(define-unimplemented set-process-group-id!)
-(define-unimplemented set-root-directory!)
+(set!-unimplemented chicken.process-context.posix#set-root-directory!)
(set!-unimplemented chicken.process.signal#set-signal-mask!)
-(define-unimplemented set-user-id!)
(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.process-context.posix#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 b890b52b..69f6209f 100644
--- a/types.db
+++ b/types.db
@@ -1923,6 +1923,25 @@
(chicken.process-context#set-environment-variable! (#(procedure #:clean #:enforce) chicken.process-context#set-environment-variable! (string string) undefined))
(chicken.process-context#unset-environment-variable! (#(procedure #:clean #:enforce) chicken.process-context#unset-environment-variable! (string) undefined))
+;; process-context.posix
+
+(chicken.process-context.posix#change-directory* (#(procedure #:clean #:enforce) chicken.process-context.posix#change-directory* (fixnum) fixnum))
+(chicken.process-context.posix#create-session (#(procedure #:clean) chicken.process-context.posix#create-session () fixnum))
+
+(chicken.process-context.posix#current-effective-group-id (#(procedure #:clean) chicken.process-context.posix#current-effective-group-id () fixnum))
+(chicken.process-context.posix#current-effective-user-id (#(procedure #:clean) chicken.process-context.posix#current-effective-user-id () fixnum))
+(chicken.process-context.posix#current-effective-user-name (#(procedure #:clean) chicken.process-context.posix#current-effective-user-name () string))
+(chicken.process-context.posix#current-group-id (#(procedure #:clean) chicken.process-context.posix#current-group-id () fixnum))
+(chicken.process-context.posix#current-process-id (#(procedure #:clean) chicken.process-context.posix#current-process-id () fixnum))
+(chicken.process-context.posix#current-user-id (#(procedure #:clean) chicken.process-context.posix#current-user-id () fixnum))
+(chicken.process-context.posix#current-user-name (#(procedure #:clean) chicken.process-context.posix#current-user-name () string))
+(chicken.process-context.posix#parent-process-id (#(procedure #:clean) chicken.process-context.posix#parent-process-id () fixnum))
+
+(chicken.process-context.posix#process-group-id (#(procedure #:clean #:enforce) chicken.process-context.posix#process-group-id () fixnum))
+(chicken.process-context.posix#set-root-directory! (#(procedure #:clean #:enforce) chicken.process-context.posix#set-root-directory! (string) undefined))
+(chicken.process-context.posix#user-information (#(procedure #:clean #:enforce) chicken.process-context.posix#user-information ((or string fixnum) #!optional *) *))
+
+
;; file.posix
(chicken.file.posix#create-fifo (#(procedure #:clean #:enforce) chicken.file.posix#create-fifo (string #!optional fixnum) undefined))
@@ -2033,24 +2052,6 @@
(chicken.time.posix#string->time (#(procedure #:clean #:enforce) chicken.time.posix#string->time (string #!optional string) (vector fixnum fixnum fixnum fixnum fixnum fixnum fixnum fixnum boolean fixnum)))
(chicken.time.posix#time->string (#(procedure #:clean #:enforce) chicken.time.posix#time->string ((vector fixnum fixnum fixnum fixnum fixnum fixnum fixnum fixnum boolean fixnum) #!optional string) string))
-;; posix
-
-(chicken.posix#change-directory* (#(procedure #:clean #:enforce) chicken.posix#change-directory* (fixnum) fixnum))
-(chicken.posix#create-session (#(procedure #:clean) chicken.posix#create-session () fixnum))
-
-(chicken.posix#current-effective-group-id (#(procedure #:clean) chicken.posix#current-effective-group-id () fixnum))
-(chicken.posix#current-effective-user-id (#(procedure #:clean) chicken.posix#current-effective-user-id () fixnum))
-(chicken.posix#current-effective-user-name (#(procedure #:clean) chicken.posix#current-effective-user-name () string))
-(chicken.posix#current-group-id (#(procedure #:clean) chicken.posix#current-group-id () fixnum))
-(chicken.posix#current-process-id (#(procedure #:clean) chicken.posix#current-process-id () fixnum))
-(chicken.posix#current-user-id (#(procedure #:clean) chicken.posix#current-user-id () fixnum))
-(chicken.posix#current-user-name (#(procedure #:clean) chicken.posix#current-user-name () string))
-(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-root-directory! (#(procedure #:clean #:enforce) chicken.posix#set-root-directory! (string) undefined))
-(chicken.posix#user-information (#(procedure #:clean #:enforce) chicken.posix#user-information ((or string fixnum) #!optional *) *))
-
;; process
(chicken.process#process-execute
Trap