]> git.eshelyaron.com Git - emacs.git/commit
Move current_timespec decl to timespec.h
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 17 Sep 2018 04:24:04 +0000 (21:24 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 17 Sep 2018 04:28:08 +0000 (21:28 -0700)
commit295bacba61bd681798b55599551116db197b3388
tree167fe2864edc58f5f847c6a64133ad3463201986
parent75ab41d00d97c4de1ca343ce5273d1aad4975f37
Move current_timespec decl to timespec.h

This change was motivated by the desire to remove the weird
dependency of lib-src/profile.o on src/systime.h.  profile.c
included systime.h only for current_timespec, and this
inclusion required systime.h to have #ifdef emacs in multiple
places and complicated further changes I have in mind.
The current_timespec decl belongs in timespec.h anyway,
and the main effect of this change is to move it there.
* lib-src/profile.c (INLINE): Remove.
Include timespec.h, not systime.h.
* lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
and don’t worry about it failing on a CLOCK_REALTIME arg.
POSIX requires it to succeed and I don’t know of any
counterexamples where the fallbacks would work.
(current_timespec): Move here from src/systime.h.
Nowadays it seems to be better to not have this function
be inline.
* lib/timespec.h: Include arg-nonnull.h.
(current_timespec): New declaration.
(gettime, settime): Declare args to be nonnull.
* lib/gettime.c, lib/timespec.h: Copy from Gnulib.
* src/systime.h: Simplify by assuming ‘emacs’ is defined,
which it always is now.
(current_timespec): Move to lib/timespec.h.
lib-src/profile.c
lib/gettime.c
lib/timespec.h
src/systime.h