1
0
mirror of https://https.git.savannah.gnu.org/git/gnulib.git synced 2026-06-15 15:25:49 +00:00
Files
gnulib/lib/boot-time.h
Paul Eggert 87fb310b69 doc: be more like POSIX in threading terms
In documentation and comments, be more like POSIX in terminology
involving multithreading.  Explain the distinction between
multithreaded process vs multithreaded program.  Change “program”
to “process” when the latter wording is more accurate or informative.
Simplify the wording for the constraints on processes that use
unlocked I/O.  Change “multithread-safe” to “thread-safe”.
Change “thread-safety” to “thread safety”.
However, do not change “multithreaded” to “multi-threaded” even
though there are some uses of both spellinga, as there are a whole
bunch of uses of “multithreaded”, also in identifier names;
perhaps Gnulib should even standardize on “multithreaded”
(not “multi-threaded”), contra POSIX.
2026-04-11 13:21:19 -07:00

50 lines
1.7 KiB
C

/* Determine the time when the machine last booted.
Copyright (C) 2023-2026 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
by the Free Software Foundation, either version 3 of the License,
or (at your option) any later version.
This file is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */
/* Written by Bruno Haible <bruno@clisp.org>. */
#ifndef _BOOT_TIME_H
#define _BOOT_TIME_H
#include <time.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Store the approximate time when the machine last booted in *P_BOOT_TIME,
and return 0. If it cannot be determined, return -1.
If the machine is a container inside another host machine,
return the boot time of the container, not the host.
The difference can matter in GNU/Linux, where times in /proc/stat
might be relative to boot time of the host, not the container.
This function is not thread-safe, since on many platforms it
invokes the functions setutxent, getutxent, endutxent.
These functions may lock a file like /var/log/wtmp (so that we
don't read garbage when a concurrent process writes to that file),
but their drawback is that they have a common global state. */
extern int get_boot_time (struct timespec *p_boot_time);
#ifdef __cplusplus
}
#endif
#endif /* _BOOT_TIME_H */