From: Bruno Haible Date: Fri, 11 Aug 2023 21:31:37 +0000 (+0200) Subject: boot-time: Add comment about multithread-safety. X-Git-Tag: v1.0~929 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=5cd9573bc638b433eae64331dc61188eae6e434e;p=gnulib.git boot-time: Add comment about multithread-safety. * lib/boot-time.h (get_boot_time): Add comment, same as in readutmp.h. --- diff --git a/ChangeLog b/ChangeLog index bfc2954a80..472349e5e4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2023-08-11 Bruno Haible + + boot-time: Add comment about multithread-safety. + * lib/boot-time.h (get_boot_time): Add comment, same as in readutmp.h. + 2023-08-11 Bruno Haible boot-time: Simplify execution. diff --git a/lib/boot-time.h b/lib/boot-time.h index 159a0056f9..401e854adb 100644 --- a/lib/boot-time.h +++ b/lib/boot-time.h @@ -27,7 +27,13 @@ extern "C" { /* Store the approximate time when the machine last booted in *P_BOOT_TIME, - and return 0. If it cannot be determined, return -1. */ + and return 0. If it cannot be determined, return -1. + + This function is not multithread-safe, since on many platforms it + invokes the functions setutxent, getutxent, endutxent. These + functions are needed because they may lock FILE (so that we don't + read garbage when a concurrent process writes to FILE), but their + drawback is that they have a common global state. */ extern int get_boot_time (struct timespec *p_boot_time);