~ chicken-core (chicken-5) c7bca844eba91ce030f65ad490dcdd3c32158e8b
commit c7bca844eba91ce030f65ad490dcdd3c32158e8b Author: Jim Ursetto <zbigniewsz@gmail.com> AuthorDate: Tue Feb 19 01:14:30 2013 -0600 Commit: Christian Kellermann <ckeen@pestilenz.org> CommitDate: Sat Mar 16 20:32:42 2013 +0100 Ensure sleep seconds is a fixnum on Windows; also, don't halve sleep time Halving sleep time was a regression in be44f5328 when posix stuff was consolidated; Windows side needs ##core#inline. Signed-off-by: Christian Kellermann <ckeen@pestilenz.org> diff --git a/posixwin.scm b/posixwin.scm index fecf75ff..d2cc9273 100644 --- a/posixwin.scm +++ b/posixwin.scm @@ -577,7 +577,7 @@ process_wait(C_word h, C_word t) } #define C_process_wait(p, t) (process_wait(C_unfix(p), C_truep(t)) ? C_SCHEME_TRUE : C_SCHEME_FALSE) -#define C_sleep(t) (Sleep(C_unfix(t) * 1000), C_SCHEME_UNDEFINED) +#define C_sleep(t) (Sleep(C_unfix(t) * 1000), C_fix(0)) static int C_fcall get_hostname() @@ -1650,7 +1650,9 @@ EOF (values pid #t _exstatus) (values -1 #f #f) ) ) -(define sleep (foreign-lambda int "C_sleep" int)) +(define (sleep s) + (##sys#check-exact s 'sleep) + (##core#inline "C_sleep" s)) (define-foreign-variable _hostname c-string "C_hostname") (define-foreign-variable _osver c-string "C_osver")Trap