Mercurial > hg > octave-shane > gnulib-hg
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 |
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 |