>From cff3a82ddc0fd6df3fa3214b106e54c0c812c909 Mon Sep 17 00:00:00 2001 From: Peter Bex Date: Sun, 21 Jan 2018 13:27:22 +0100 Subject: [PATCH] Move "sleep" into chicken.base and add "process-sleep" to chicken.process --- chicken.import.scm | 2 +- library.scm | 26 +++++++++++++------------- posix.scm | 2 +- scheduler.scm | 4 ++-- types.db | 4 ++-- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/chicken.import.scm b/chicken.import.scm index d0908e29..2a20eed3 100644 --- a/chicken.import.scm +++ b/chicken.import.scm @@ -145,7 +145,7 @@ (setter . chicken.base#setter) (signal . chicken.condition#signal) (signum . chicken.base#signum) - sleep + (sleep . chicken.base#sleep) (software-type . chicken.platform#software-type) (software-version . chicken.platform#software-version) (string->uninterned-symbol . chicken.base#string->uninterned-symbol) diff --git a/library.scm b/library.scm index a8b2f184..fb0c596a 100644 --- a/library.scm +++ b/library.scm @@ -39,8 +39,8 @@ make-complex flonum->ratnum ratnum +maximum-allowed-exponent+ mantexp->dbl ldexp round-quotient ##sys#string->compnum ##sys#internal-gcd) - (not inline ##sys#change-directory-hook ##sys#user-read-hook - ##sys#error-hook ##sys#signal-hook ##sys#sleep-hook + (not inline chicken.base#sleep-hook ##sys#change-directory-hook + ##sys#user-read-hook ##sys#error-hook ##sys#signal-hook ##sys#default-read-info-hook ##sys#infix-list-hook ##sys#sharp-number-hook ##sys#user-print-hook ##sys#user-interrupt-hook ##sys#windows-platform @@ -927,6 +927,17 @@ EOF a (loop (##sys#slot l 1)) ) ) ) ) ) ) + +;;; Sleeping: + +(define (sleep-hook n) ; modified by scheduler.scm + (##core#inline "C_i_process_sleep" n)) + +(define (sleep n) + (##sys#check-fixnum n 'sleep) + (sleep-hook n) + (##core#undefined)) + ) ; chicken.base (import chicken.base) @@ -5716,17 +5727,6 @@ EOF (thunk)) ; does nothing, will be modified by scheduler.scm -;;; Sleeping: - -(define (##sys#sleep-hook n) ; modified by scheduler.scm - (##core#inline "C_i_process_sleep" n)) - -(define (sleep n) - (##sys#check-fixnum n 'sleep) - (##sys#sleep-hook n) - (##core#undefined)) - - ;;; Interrupt-handling: (define ##sys#context-switch (##core#primitive "C_context_switch")) diff --git a/posix.scm b/posix.scm index 24a96cf8..306983f5 100644 --- a/posix.scm +++ b/posix.scm @@ -174,7 +174,7 @@ process-signal process-spawn process-wait call-with-input-pipe call-with-output-pipe close-input-pipe close-output-pipe create-pipe open-input-pipe open-output-pipe with-input-from-pipe - with-output-to-pipe process process* pipe/buf + with-output-to-pipe process process* process-sleep pipe/buf spawn/overlay spawn/wait spawn/nowait spawn/nowaito spawn/detach) (import chicken scheme chicken.posix chicken.platform) diff --git a/scheduler.scm b/scheduler.scm index cfb83306..670b0443 100644 --- a/scheduler.scm +++ b/scheduler.scm @@ -36,7 +36,7 @@ ; ##sys#force-primordial remove-from-ready-queue fdset-test create-fdset stderr delq ##sys#clear-i/o-state-for-thread! ##sys#abandon-mutexes) - (not inline ##sys#interrupt-hook ##sys#sleep-hook ##sys#force-primordial) + (not inline chicken.base#sleep-hook ##sys#interrupt-hook ##sys#force-primordial) (unsafe) (foreign-declare #<