mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-20 14:19:18 +02:00
fixing SRFI-18 time interface which uses timevals, not tms
This commit is contained in:
parent
0270f52ecb
commit
75af68ad76
4 changed files with 10 additions and 2 deletions
|
@ -2,7 +2,7 @@
|
|||
(module (chibi time)
|
||||
(export current-seconds get-time-of-day set-time-of-day!
|
||||
seconds->time seconds->string time->seconds time->string
|
||||
timeval-seconds timeval-microseconds
|
||||
make-timeval timeval-seconds timeval-microseconds
|
||||
timezone-offset timezone-dst-time
|
||||
time-second time-minute time-hour time-day time-month time-year
|
||||
time-day-of-week time-day-of-year time-dst?
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
(define-c-struct timeval
|
||||
predicate: timeval?
|
||||
constructor: (make-timeval tv_sec tv_usec)
|
||||
(time_t tv_sec timeval-seconds)
|
||||
(int tv_usec timeval-microseconds))
|
||||
|
||||
|
|
|
@ -15,7 +15,8 @@
|
|||
join-timeout-exception? abandoned-mutex-exception?
|
||||
terminated-thread-exception? uncaught-exception?
|
||||
uncaught-exception-reason)
|
||||
(import (scheme) (srfi 9) (chibi ast) (chibi time))
|
||||
(import (scheme) (srfi 9) (chibi ast)
|
||||
(except (chibi time) time->seconds seconds->time))
|
||||
(include "18/types.scm")
|
||||
(include-shared "18/threads")
|
||||
(include "18/interface.scm"))
|
||||
|
|
|
@ -40,6 +40,12 @@
|
|||
(define current-time get-time-of-day)
|
||||
(define time? timeval?)
|
||||
|
||||
(define (time->seconds x)
|
||||
(timeval-seconds (if (pair? x) (car x) x)))
|
||||
|
||||
(define (seconds->time x)
|
||||
(make-timeval (if (inexact? x) (inexact->exact x) x) 0))
|
||||
|
||||
(define (join-timeout-exception? x)
|
||||
(and (exception? x)
|
||||
(equal? (exception-message x) "timed out waiting for thread")))
|
||||
|
|
Loading…
Add table
Reference in a new issue