;;870 IBM EBCDIC - Multilingual/ROECE (Latin-2)
(874 :CP874) ;; ANSI/OEM - Thai (same as 28605, ISO 8859-15)
;;875 IBM EBCDIC - Modern Greek
- ;;932 ANSI/OEM - Japanese, Shift-JIS
+ (932 :CP932) ;; ANSI/OEM - Japanese, Shift-JIS
;;936 ANSI/OEM - Simplified Chinese (PRC, Singapore)
;;949 ANSI/OEM - Korean (Unified Hangul Code)
;;950 ANSI/OEM - Traditional Chinese (Taiwan; Hong Kong SAR, PRC)
(addr ,kernel-time)
(addr ,user-time))))
-(declaim (inline system-internal-real-time system-internal-run-time))
-(defun system-internal-real-time ()
- (with-alien ((system-time filetime))
- (syscall (("GetSystemTimeAsFileTime" 4) void (* filetime))
- (values (floor system-time 100ns-per-internal-time-unit))
- (addr system-time))))
+(declaim (inline system-internal-real-time))
+
+(let ((epoch 0))
+ (declare (unsigned-byte epoch))
+ ;; FIXME: For optimization ideas see the unix implementation.
+ (defun reinit-internal-real-time ()
+ (setf epoch 0
+ epoch (get-internal-real-time)))
+ (defun get-internal-real-time ()
+ (- (with-alien ((system-time filetime))
+ (syscall (("GetSystemTimeAsFileTime" 4) void (* filetime))
+ (values (floor system-time 100ns-per-internal-time-unit))
+ (addr system-time)))
+ epoch)))
(defun system-internal-run-time ()
(with-process-times (creation-time exit-time kernel-time user-time)