Comment 1 for bug 2063340

Revision history for this message
Douglas Katzman (dougk) wrote :

The easiest solution may be to put some C code in wrap.c that returns a timespec the way lisp expects it to look because I don't see anything in the Lisp side that seems wrong. Nanoseconds are immediately scaled down by 10^6 after calling clock_gettime so that get-internal-real-time remains a fixnum. Therefore anything stored in the 'observed-delta' slot should not be too large.
I'll bet it's a discrepancy in what Lisp thinks a 64-bit integer looks in a C structure in this ABI (is it most-significant half first or second? I don't know). I see no other instance where Lisp cared about that for a 32-bit build. A few kernel types were 64-bit already, but none of them very interesting to Lisp: dev_t, ino_t for example