annotate modules/c-vasnprintf @ 17388:3c592b4deb04

utimensat-tests, etc.: try to fix some races Problem reported by Bernhard Voelker in <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html>. I don't know whether this patch fixes that race condition, but it fixes *some* race conditions, so it should be a win. * modules/chown-tests (Depends-on): * modules/fchownat-tests (Depends-on): * modules/fdutimensat-tests (Depends-on): * modules/futimens-tests (Depends-on): * modules/lchown-tests (Depends-on): * modules/stat-time-tests (Depends-on): * modules/utimens-tests (Depends-on): * modules/utimensat-tests (Depends-on): Depend on nanosleep, not usleep. * modules/chown-tests (test_chown_LDADD): * modules/lchown-tests (test_lchown_LDADD): * modules/stat-time-tests (test_stat_time_LDADD): New macro. * modules/fchownat-tests (test_fchownat_LDADD): * modules/fdutimensat-tests (test_fdutimensat_LDADD): * modules/futimens-tests (test_futimens_LDADD): * modules/utimens-tests (test_utimens_LDADD): * modules/utimensat-tests (test_utimensat_LDADD): Add $(LIB_NANOSLEEP). * modules/stat-time-tests (Files): Add tests/nap.h. * tests/nap.h: Include <limits.h>, for INT_MAX. (lt_mtime): Remove. (diff_timespec): New function. (get_stat): Rename from get_mtime. All callers changed. (nap_works): Determine the needed delay by inspecting the file system's timestamp jumps; this should be more reliable. Look at both mtime and ctime, and take the maximum of the two jumps. (nap_works, guess_delay): Return a nanosecond cound, not a microsecond count. All callers changed. (nap_works, nap): Use nanosleep, not usleep. Check for nanosleep failure. (nap): Multiply the guess by 1.125, to accommodate the case where the file system's clock is a bit slower than nanosleep's clock. * tests/test-stat-time.c (BASE): New macro. Include nap.h. (nap): Remove; nap.h now defines this. This removes a duplicate implementation of 'nap'.
author Paul Eggert <eggert@cs.ucla.edu>
date Tue, 30 Apr 2013 23:14:19 -0700
parents 46900f509454
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17212
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
1 Description:
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
2 Formatted output to strings in C locale.
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
3
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
4 Files:
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
5 lib/c-vasnprintf.h
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
6 lib/c-vasnprintf.c
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
7 lib/float+.h
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
8 lib/printf-args.h
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
9 lib/printf-args.c
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
10 lib/printf-parse.h
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
11 lib/printf-parse.c
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
12 lib/vasnprintf.h
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
13 lib/vasnprintf.c
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
14 m4/wchar_t.m4
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
15 m4/wint_t.m4
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
16 m4/longlong.m4
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
17 m4/intmax_t.m4
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
18 m4/stdint_h.m4
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
19 m4/inttypes_h.m4
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
20 m4/vasnprintf.m4
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
21 m4/printf.m4
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
22 m4/math_h.m4
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
23 m4/exponentd.m4
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
24
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
25 Depends-on:
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
26 isnand-nolibm
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
27 isnanl-nolibm
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
28 frexpl-nolibm
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
29 printf-frexp
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
30 printf-frexpl
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
31 signbit
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
32 fpucw
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
33 nocrash
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
34 printf-safe
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
35 alloca-opt
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
36 xsize
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
37 errno
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
38 memchr
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
39 multiarch
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
40 verify
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
41
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
42 configure.ac:
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
43 gl_PREREQ_VASNPRINTF_WITH_EXTRAS
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
44
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
45 Makefile.am:
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
46 lib_SOURCES += c-vasnprintf.c
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
47
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
48 Include:
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
49 "c-vasnprintf.h"
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
50
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
51 License:
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
52 GPL
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
53
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
54 Maintainer:
46900f509454 New 'c-*printf' modules for formatted output in C locale.
Ben Pfaff <blp@cs.stanford.edu>
parents:
diff changeset
55 Ben Pfaff