]> Savannah Git Hosting - gnulib.git/log
gnulib.git
5 years agodoc: Remove documentation of AIX 4 as a supported platform.
Bruno Haible [Sat, 6 Jul 2019 11:08:43 +0000 (13:08 +0200)]
doc: Remove documentation of AIX 4 as a supported platform.

* doc/gnulib-intro.texi (Target Platforms): Mention that AIX 4 is
unsupported.
* doc/posix-functions/nanosleep.texi: Don't mention AIX 4 specific
workarounds.
* doc/posix-functions/strnlen.texi: Likewise.
* doc/posix-headers/inttypes.texi: Likewise.
* doc/**/*.texi: Update.

5 years agodoc: Remove documentation of HP-UX 10 as a supported platform.
Bruno Haible [Sat, 6 Jul 2019 10:58:08 +0000 (12:58 +0200)]
doc: Remove documentation of HP-UX 10 as a supported platform.

* doc/gnulib-intro.texi (Target Platforms): Mention that HP-UX 10 is
unsupported.
* doc/*-functions/*printf.texi: Don't mention HP-UX 10 specific
workarounds.
* doc/posix-functions/gmtime_r.texi: Likewise.
* doc/posix-functions/localtime_r.texi: Likewise.
* doc/posix-functions/mkstemp.texi: Likewise.
* doc/**/*.texi: Update.

5 years agodoc: Remove documentation of Interix 3.5 as a supported platform.
Bruno Haible [Sat, 6 Jul 2019 10:46:09 +0000 (12:46 +0200)]
doc: Remove documentation of Interix 3.5 as a supported platform.

* doc/gnulib-intro.texi (Target Platforms): Mention that Interix is
unsupported.
* doc/posix-functions/select.texi: Don't mention Interix specific
workarounds.
* doc/posix-headers/signal.texi: Likewise.
* doc/**/*.texi: Update.

5 years agodoc: Remove documentation of IRIX 6.4 and older as supported platforms.
Bruno Haible [Sat, 6 Jul 2019 10:35:49 +0000 (12:35 +0200)]
doc: Remove documentation of IRIX 6.4 and older as supported platforms.

* doc/gnulib-intro.texi (Target Platforms): Mention that IRIX <= 6.4 is
unsupported.
* doc/pastposix-functions/usleep.texi: Don't mention IRIX specific
workarounds.
* doc/posix-functions/nl_langinfo.texi: Likewise.
* doc/posix-functions/remainder.texi: Likewise.
* doc/posix-functions/towlower.texi: Likewise.
* doc/posix-functions/towupper.texi: Likewise.
* doc/posix-functions/vsnprintf.texi: Likewise.
* doc/posix-functions/wcscat.texi: Likewise.
* doc/posix-functions/wcschr.texi: Likewise.
* doc/posix-functions/wcscmp.texi: Likewise.
* doc/posix-functions/wcscpy.texi: Likewise.
* doc/posix-functions/wcscspn.texi: Likewise.
* doc/posix-functions/wcslen.texi: Likewise.
* doc/posix-functions/wcsncat.texi: Likewise.
* doc/posix-functions/wcsncmp.texi: Likewise.
* doc/posix-functions/wcsncpy.texi: Likewise.
* doc/posix-functions/wcspbrk.texi: Likewise.
* doc/posix-functions/wcsrchr.texi: Likewise.
* doc/posix-functions/wcsspn.texi: Likewise.
* doc/posix-headers/langinfo.texi: Likewise.
* doc/posix-headers/signal.texi: Likewise.
* doc/posix-headers/wchar.texi: Likewise.
* doc/posix-headers/wctype.texi: Likewise.
* doc/**/*.texi: Update.

5 years agodoc: Remove documentation of OSF/1 as supported platform.
Bruno Haible [Sat, 6 Jul 2019 05:03:06 +0000 (07:03 +0200)]
doc: Remove documentation of OSF/1 as supported platform.

* doc/gnulib-intro.texi (Target Platforms): Mention that OSF/1 is
unsupported.
* doc/glibc-functions/getdomainname.texi: Don't mention OSF/1 specific
workarounds.
* doc/glibc-functions/pthread_setname_np.texi: Likewise.
* doc/glibc-functions/ptsname_r.texi: Likewise.
* doc/posix-functions/ceil.texi: Likewise.
* doc/posix-functions/ceilf.texi: Likewise.
* doc/posix-functions/ceill.texi: Likewise.
* doc/posix-functions/fchdir.texi: Likewise.
* doc/posix-functions/floor.texi: Likewise.
* doc/posix-functions/floorf.texi: Likewise.
* doc/posix-functions/fmod.texi: Likewise.
* doc/posix-functions/fmodf.texi: Likewise.
* doc/posix-functions/fmodl.texi: Likewise.
* doc/posix-functions/log.texi: Likewise.
* doc/posix-functions/logf.texi: Likewise.
* doc/posix-functions/logl.texi: Likewise.
* doc/posix-functions/log10.texi: Likewise.
* doc/posix-functions/log10f.texi: Likewise.
* doc/posix-functions/log10l.texi: Likewise.
* doc/posix-functions/log2.texi: Likewise.
* doc/posix-functions/log2f.texi: Likewise.
* doc/posix-functions/log2l.texi: Likewise.
* doc/posix-functions/mbrtowc.texi: Likewise.
* doc/posix-functions/recv.texi: Likewise.
* doc/posix-functions/recvfrom.texi: Likewise.
* doc/posix-functions/remainder.texi: Likewise.
* doc/posix-functions/remainderf.texi: Likewise.
* doc/posix-functions/remainderl.texi: Likewise.
* doc/posix-functions/round.texi: Likewise.
* doc/posix-functions/roundf.texi: Likewise.
* doc/posix-functions/roundl.texi: Likewise.
* doc/posix-functions/send.texi: Likewise.
* doc/posix-functions/sendto.texi: Likewise.
* doc/posix-functions/setenv.texi: Likewise.
* doc/posix-functions/snprintf.texi: Likewise.
* doc/posix-functions/tcgetsid.texi: Likewise.
* doc/posix-functions/trunc.texi: Likewise.
* doc/posix-functions/truncf.texi: Likewise.
* doc/posix-functions/truncl.texi: Likewise.
* doc/posix-functions/ttyname_r.texi: Likewise.
* doc/posix-functions/unsetenv.texi: Likewise.
* doc/posix-functions/wcsrtombs.texi: Likewise.
* doc/posix-headers/sys_select.texi: Likewise.
* doc/posix-headers/wchar.texi: Likewise.
* doc/posix-headers/wctype.texi: Likewise.
* doc/**/*.texi: Update.

5 years agodoc: Remove documentation of Interix as a supported platform.
Bruno Haible [Sat, 6 Jul 2019 04:54:32 +0000 (06:54 +0200)]
doc: Remove documentation of Interix as a supported platform.

5 years agodoc: Remove documentation of BSDI and BSD/OS as supported platforms.
Bruno Haible [Sat, 6 Jul 2019 03:16:14 +0000 (05:16 +0200)]
doc: Remove documentation of BSDI and BSD/OS as supported platforms.

* doc/**/*.texi: Update.

5 years agodoc: Remove documentation of Solaris 8 and older as supported platforms.
Bruno Haible [Sat, 6 Jul 2019 03:10:53 +0000 (05:10 +0200)]
doc: Remove documentation of Solaris 8 and older as supported platforms.

* doc/gnulib-intro.texi (Target Platforms): Mention that Solaris <= 8 is
unsupported.
* doc/posix-functions/mbrtowc.texi: Don't mention Solaris specific
workarounds.
* doc/posix-functions/memcmp.texi: Likewise.
* doc/posix-functions/rename.texi: Likewise.
* doc/posix-functions/tzset.texi: Likewise.
* doc/posix-headers/wctype.texi: Likewise.
* doc/**/*.texi: Update.

5 years agodoc: Remove documentation of Interix 3.5 as a supported platform.
Bruno Haible [Sat, 6 Jul 2019 02:41:05 +0000 (04:41 +0200)]
doc: Remove documentation of Interix 3.5 as a supported platform.

* doc/**/*.texi: Update.

5 years agodoc: Remove documentation of BeOS as a supported platform.
Bruno Haible [Sat, 6 Jul 2019 02:35:31 +0000 (04:35 +0200)]
doc: Remove documentation of BeOS as a supported platform.

* doc/gnulib-intro.texi (Target Platforms): Mention that BeOS is
unsupported.
* doc/*-functions/*printf.texi: Don't mention BeOS specific workarounds.
* doc/posix-functions/getdelim.texi: Likewise.
* doc/**/*.texi: Update.

5 years agothread, lock, cond, tls: Remove support for Pth threads.
Bruno Haible [Sat, 6 Jul 2019 01:56:55 +0000 (03:56 +0200)]
thread, lock, cond, tls: Remove support for Pth threads.

* m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
--enable-threads=pth any more.
(gl_THREADLIB_BODY): Don't set USE_PTH_THREADS any more.
* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Update comment.
* m4/threads.m4 (gl_THREADS_H): Remove test for conflict between Pth
threads and ISO C11 threads.
* lib/glthread/thread.h: Remove code for USE_PTH_THREADS.
* lib/glthread/lock.h: Likewise.
* lib/glthread/lock.c: Likewise.
* lib/glthread/cond.h: Likewise.
* lib/glthread/cond.c: Likewise.
* lib/glthread/tls.h: Likewise.
* lib/glthread/tls.c: Likewise.
* lib/glthread/yield.h: Likewise.
* lib/regex_internal.h: Likewise.
* tests/test-thread_create.c: Likewise.
* tests/test-lock.c: Likewise.
* tests/test-cond.c: Likewise.
* tests/test-tls.c: Likewise.
* tests/test-rwlock1.c: Don't include glthread/yield.h.
(main): Sleep without calling gl_thread_yield.

5 years agothread, lock, cond, tls: Remove support for old Solaris threads.
Bruno Haible [Sat, 6 Jul 2019 01:36:45 +0000 (03:36 +0200)]
thread, lock, cond, tls: Remove support for old Solaris threads.

Solaris >= 2.5.1 has POSIX threads.

* m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
--enable-threads=solaris any more.
(gl_THREADLIB_BODY): Don't set USE_SOLARIS_THREADS any more.
* lib/glthread/thread.c: Update comment.
* lib/glthread/thread.h: Remove code for USE_SOLARIS_THREADS.
* lib/glthread/lock.h: Likewise.
* lib/glthread/lock.c: Likewise.
* lib/glthread/cond.h: Likewise.
* lib/glthread/cond.c: Likewise.
* lib/glthread/tls.h: Likewise.
* lib/glthread/tls.c: Likewise.
* lib/glthread/yield.h: Likewise.
* lib/regex_internal.h: Likewise.
* tests/test-thread_create.c: Likewise.
* tests/test-lock.c: Likewise.
* tests/test-cond.c: Likewise.
* tests/test-tls.c: Likewise.

5 years agogetcwd-lgpl, getcwd: Don't call realloc when it is pointless.
Bruno Haible [Fri, 5 Jul 2019 22:47:12 +0000 (00:47 +0200)]
getcwd-lgpl, getcwd: Don't call realloc when it is pointless.

* lib/getcwd-lgpl.c (rpl_getcwd): Don't call realloc if the result's
needed size is equal to the allocated size.
* lib/getcwd.c (__getcwd): Likewise.

5 years agoxgetdomainname: Don't return an excessive memory allocation.
Bruno Haible [Fri, 5 Jul 2019 22:43:59 +0000 (00:43 +0200)]
xgetdomainname: Don't return an excessive memory allocation.

* lib/xgetdomainname.c (xgetdomainname): Shrink the domainname buffer
before returning it.

5 years agoxgethostname: Don't return an excessive memory allocation.
Bruno Haible [Fri, 5 Jul 2019 22:43:01 +0000 (00:43 +0200)]
xgethostname: Don't return an excessive memory allocation.

* lib/xgethostname.c (xgethostname): Shrink the hostname buffer before
returning it.

5 years agoareadlinkat-with-size: Don't return an excessive memory allocation.
Bruno Haible [Fri, 5 Jul 2019 22:40:34 +0000 (00:40 +0200)]
areadlinkat-with-size: Don't return an excessive memory allocation.

* lib/areadlinkat-with-size.c (areadlinkat_with_size): Shrink the buffer
before returning it.

5 years agoareadlink-with-size: Don't return an excessive memory allocation.
Bruno Haible [Fri, 5 Jul 2019 22:39:07 +0000 (00:39 +0200)]
areadlink-with-size: Don't return an excessive memory allocation.

Reported by Andreas Dilger <adilger@whamcloud.com>.

* lib/areadlink-with-size.c (areadlink_with_size): Shrink the buffer
before returning it.

5 years agorenameatu: Fix test failure on MSVC.
Bruno Haible [Wed, 3 Jul 2019 00:49:27 +0000 (02:49 +0200)]
renameatu: Fix test failure on MSVC.

* lib/at-func2.c (at_func2): Fail with ENOENT if file1 or file2 is the
empty string.

5 years agoautoupdate
Karl Berry [Thu, 4 Jul 2019 15:23:14 +0000 (08:23 -0700)]
autoupdate

5 years agombrtowc: Fix invalid use of mbtowc() on MSVC.
Bruno Haible [Wed, 3 Jul 2019 17:25:09 +0000 (19:25 +0200)]
mbrtowc: Fix invalid use of mbtowc() on MSVC.

* lib/mbrtowc.c: Include glthread/lock.h.
(mbtowc_lock): New variable.
(mbrtowc): Treat UTF-8 encoding without locking. For the other
encodings, explicitly reset the internal state of mbtowc, and protect
this through a lock.
* modules/mbrtowc (Depends-on): Add lock.

5 years agoargmatch: don't define _ in the header
Akim Demaille [Wed, 3 Jul 2019 04:35:34 +0000 (06:35 +0200)]
argmatch: don't define _ in the header

Reported by Jim Meyering.

* lib/argmatch.h (N_, _): Don't define.
Use gettext instead.
* lib/argmatch.h (_): Define.
* tests/test-argmatch.c (N_): Define.

5 years agoverify: document ‘assume’ better
Paul Eggert [Tue, 2 Jul 2019 23:33:04 +0000 (16:33 -0700)]
verify: document ‘assume’ better

* lib/verify.h: Reword doc (Bug#36370).

5 years agolocalcharset, nl_langinfo: Fix return value for UTF-8 locales on MSVC.
Bruno Haible [Tue, 2 Jul 2019 18:56:26 +0000 (20:56 +0200)]
localcharset, nl_langinfo: Fix return value for UTF-8 locales on MSVC.

* lib/localcharset.c (locale_charset): Return "UTF-8" instead of
"CPutf8".
* lib/nl_langinfo.c (ctype_codeset): Likewise.

5 years agogetcwd: Fix crash when invoked with size = 0 on MSVC.
Bruno Haible [Tue, 2 Jul 2019 18:43:00 +0000 (20:43 +0200)]
getcwd: Fix crash when invoked with size = 0 on MSVC.

* lib/getcwd.c: Include msvc-inval.h.
(getcwd_nothrow): New function/macro.
(getcwd_system): New macro.
(__getcwd): Use it instead of getcwd.
* modules/getcwd (Depends-on): Add msvc-inval.
* doc/posix-functions/getcwd.texi: Mention the MSVC issue.

5 years agononblocking-pipe tests: Fix test failure on MSVC.
Bruno Haible [Tue, 2 Jul 2019 17:59:28 +0000 (19:59 +0200)]
nonblocking-pipe tests: Fix test failure on MSVC.

* tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE): Set to 10000 on
native Windows.

5 years agousleep: Implement with millisecond resolution on native Windows.
Bruno Haible [Tue, 2 Jul 2019 17:57:03 +0000 (19:57 +0200)]
usleep: Implement with millisecond resolution on native Windows.

* lib/usleep.c (usleep): On native Windows, implement using Sleep().
* doc/pastposix-functions/usleep.texi: Update accordingly.

5 years agolstat tests: Fix test failure on MSVC.
Bruno Haible [Tue, 2 Jul 2019 17:48:14 +0000 (19:48 +0200)]
lstat tests: Fix test failure on MSVC.

* tests/test-lstat.h (test_lstat_func): Don't test SAME_INODE values on
native Windows, unless _GL_WINDOWS_STAT_INODES is defined.

5 years agostat tests: Fix test failure on MSVC.
Bruno Haible [Tue, 2 Jul 2019 17:44:52 +0000 (19:44 +0200)]
stat tests: Fix test failure on MSVC.

* tests/test-stat.h (test_stat_func): Don't test SAME_INODE values on
native Windows, unless _GL_WINDOWS_STAT_INODES is defined.

5 years agogetaddrinfo tests: Fix test failure on MSVC.
Bruno Haible [Tue, 2 Jul 2019 17:38:27 +0000 (19:38 +0200)]
getaddrinfo tests: Fix test failure on MSVC.

* tests/test-getaddrinfo.c: Include sockets.h.
(main): Invoke gl_sockets_startup.
* modules/getaddrinfo-tests (Depends-on): Add sockets.

5 years agopoll: Fix type of timeout pointer passed to select() on mingw x86_64.
Hannes Müller [Mon, 1 Jul 2019 14:59:45 +0000 (16:59 +0200)]
poll: Fix type of timeout pointer passed to select() on mingw x86_64.

* lib/poll.c: Call Windows native select() with Windows native timeval.

5 years agoargmatch: Fix compilation errors.
Bruno Haible [Sun, 30 Jun 2019 19:12:42 +0000 (21:12 +0200)]
argmatch: Fix compilation errors.

* lib/argmatch.h: Include <limits.h>, for INT_MAX.
* tests/test-argmatch.c (main): Update after last-minute function names
change.

5 years agoautoupdate
Karl Berry [Sun, 30 Jun 2019 15:45:19 +0000 (08:45 -0700)]
autoupdate

5 years agoInclude <stdlib.h> when needed.
Bruno Haible [Sun, 30 Jun 2019 14:11:08 +0000 (16:11 +0200)]
Include <stdlib.h> when needed.

* lib/cnd.c: Include <stdlib.h>, needed for abort().
* lib/fcntl.c: Likewise.
* lib/mbscasestr.c: Likewise.
* lib/mbssep.c: Likewise.
* lib/mbsstr.c: Likewise.
* lib/openat.c: Include <stdlib.h>, needed for free().
* lib/windows-tls.c: Include <stdlib.h>, needed for malloc(), free(),
abort().

5 years agoInclude <stdlib.h> when needed.
Bruno Haible [Sun, 30 Jun 2019 13:52:09 +0000 (15:52 +0200)]
Include <stdlib.h> when needed.

* lib/areadlinkat.c: Include <stdlib.h>, needed for free() in at-func.c.
* lib/faccessat.c: Likewise.
* lib/fchmodat.c: Likewise.
* lib/fchownat.c: Likewise.
* lib/fstatat.c: Likewise.
* lib/mkfifoat.c: Likewise.
* lib/mknodat.c: Likewise.
* lib/readlinkat.c: Likewise.
* lib/symlinkat.c: Likewise.
* lib/utimensat.c: Likewise.
* lib/mkdirat.c: Likewise. Include also the specification header.

5 years agoinet_ntop, inet_pton: Avoid conflict with native Windows functions.
Bruno Haible [Sun, 30 Jun 2019 13:20:24 +0000 (15:20 +0200)]
inet_ntop, inet_pton: Avoid conflict with native Windows functions.

* m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WS2TCPIP): New macro, extracted
from gl_PREREQ_SYS_H_SOCKET.
(gl_PREREQ_SYS_H_SOCKET): Invoke it.
* m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Invoke
gl_PREREQ_SYS_H_WS2TCPIP.
* modules/arpa_inet (Files): Add m4/sys_socket_h.m4, m4/socklen.m4.
(Makefile.am): Substitute HAVE_WS2TCPIP_H.
* lib/arpa_inet.in.h: Include <ws2tcpip.h>.

5 years agoinet_ntop, inet_pton: Forward-compatibility with newer Windows versions.
Bruno Haible [Sun, 30 Jun 2019 13:08:05 +0000 (15:08 +0200)]
inet_ntop, inet_pton: Forward-compatibility with newer Windows versions.

* m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): On native Windows, set
REPLACE_INET_NTOP to 1 always.
* m4/inet_pton.m4 (gl_FUNC_INET_PTON): On native Windows, set
REPLACE_INET_PTON to 1 always.

5 years agoinet_pton: Fix link error on mingw with _WIN32_WINNT >= 0x0600.
Bruno Haible [Sun, 30 Jun 2019 12:54:40 +0000 (14:54 +0200)]
inet_pton: Fix link error on mingw with _WIN32_WINNT >= 0x0600.

* modules/inet_pton (Depends-on, configure.ac): Test REPLACE_INET_PTON,
not REPLACE_INET_NTOP.

5 years agopoll: Add comment.
Bruno Haible [Sun, 30 Jun 2019 12:48:50 +0000 (14:48 +0200)]
poll: Add comment.

* lib/poll.c: Add comment about WSAPoll.

5 years agopoll-h: Fix compilation error on mingw with _WIN32_WINNT >= 0x0600.
Bruno Haible [Sun, 30 Jun 2019 12:43:44 +0000 (14:43 +0200)]
poll-h: Fix compilation error on mingw with _WIN32_WINNT >= 0x0600.

Reported by Hannes Müller <h.c.f.mueller@gmx.de>.

* lib/poll.in.h: Include <winsock2.h>.
(POLL*, pollfd): Override on native Windows.
* m4/poll_h.m4 (gl_POLL_H): Invoke gl_PREREQ_SYS_H_WINSOCK2.
* modules/poll-h (Files): Add m4/sys_socket_h.m4.
(Makefile.am): Substitute HAVE_WINSOCK2_H.

5 years agoaccept4: Fix compilation error on OpenIndiana.
Bruno Haible [Sat, 29 Jun 2019 00:02:10 +0000 (02:02 +0200)]
accept4: Fix compilation error on OpenIndiana.

Reported by Michal Nowak <mnowak@startmail.com>
via Mark H Weaver <mhw@netris.org>.

* m4/accept.m4 (gl_FUNC_ACCEPT4): Test whether accept4 is declared, not
whether it exists as a function.

5 years agoautoupdate
Karl Berry [Thu, 27 Jun 2019 16:32:11 +0000 (09:32 -0700)]
autoupdate

5 years agostrverscmp: sync from glibc
Paul Eggert [Wed, 26 Jun 2019 19:46:32 +0000 (12:46 -0700)]
strverscmp: sync from glibc

* lib/strverscmp.c: Sync from glibc, except use UTF-8 encoding in
comments, include libc-config.h, define __strverscmp to be
strverscmp, and don’t assume types line uint8_t and int8_t that
that C99 doesn’t guarantee.
[!_LIBC]: Include libc-config.h; define __strverscmp.
Include stdint.h.
(__strverscmp): Assume C99.  Use uint_least8_t
and int_least8_t instead of unsigned char and signed char.
* modules/strverscmp (Depends-on): Add libc-config, stdint.

5 years agotss tests: Add tests for destructors and races.
Bruno Haible [Wed, 26 Jun 2019 01:32:57 +0000 (03:32 +0200)]
tss tests: Add tests for destructors and races.

* tests/test-tss.c (worker_thread): Fix typo in debug message.
(test_tss_dtorcheck1, test_tss_dtorcheck2, test_tss_racecheck): New
functions.
(main): Invoke them.
* modules/tls-tests (Depends-on): Add mtx.

5 years agotls tests: Add tests for destructors and races.
Bruno Haible [Wed, 26 Jun 2019 01:32:51 +0000 (03:32 +0200)]
tls tests: Add tests for destructors and races.

* tests/test-tls.c: Include glthread/lock.h.
(test_tls_dtorcheck1, test_tls_dtorcheck2, test_tls_racecheck): New
functions.
(main): Invoke them.
* modules/tls-tests (Depends-on): Add lock.

5 years agowindows-tls: Implement TLS key destructors for native Windows.
Bruno Haible [Wed, 26 Jun 2019 01:32:46 +0000 (03:32 +0200)]
windows-tls: Implement TLS key destructors for native Windows.

* lib/windows-tls.h (glwthread_tls_process_destructors): New
declaration.
(GLWTHREAD_DESTRUCTOR_ITERATIONS): New macro.
* lib/windows-tls.c: Include <limits.h>, windows-once.h.
(dtor_table_init_once, dtor_table_lock: New variables.
(struct dtor): New type.
(dtor_table, dtors_count, dtors_used, dtors_allocated,
dtor_processing_threads): New variables.
(dtor_table_initialize, dtor_table_ensure_initialized,
dtor_table_shrink_used, glwthread_tls_process_destructors): New
functions.
(glwthread_tls_key_create, glwthread_tls_key_delete): Rewritten to
handle non-NULL destructors.
* modules/windows-tls (Depends-on): Add windows-once.
* lib/glthread/tls.h (glthread_tls_key_init, glthread_tls_key_destroy):
Use the functions declared in windows-tls.h.
* lib/threads.in.h (TSS_DTOR_ITERATIONS): Define using
GLWTHREAD_DESTRUCTOR_ITERATIONS.
* lib/windows-thread.c: Include windows-tls.h.
(wrapper_func, glwthread_thread_exit): Invoke
glwthread_tls_process_destructors.
* modules/windows-thread (Depends-on): Add windows-tls.

5 years agothreadlib: Avoid autoconf warning "was expanded before it was required".
Bruno Haible [Wed, 26 Jun 2019 01:32:42 +0000 (03:32 +0200)]
threadlib: Avoid autoconf warning "was expanded before it was required".

* modules/threadlib (configure.ac): Require gl_THREADLIB.

5 years agoargmatch: remove duplicate const qualifier
Akim Demaille [Tue, 25 Jun 2019 06:11:34 +0000 (08:11 +0200)]
argmatch: remove duplicate const qualifier

* lib/argmatch.h (ARGMATCH_DEFINE_GROUP): Here.

5 years agounistd: stddef.h and sys/types.h namespace cleanup
Paul Eggert [Mon, 24 Jun 2019 18:54:00 +0000 (11:54 -0700)]
unistd: stddef.h and sys/types.h namespace cleanup

* lib/unistd.in.h [__GLIBC__]:
Do not include stddef.h or sys/types.h.
[!__GLIBC__]: Always include sys/types.h, since unistd.h is
supposed to declare off_t and ssize_t.  Problem found when looking
at why @GNULIB_PWRITE@ was different from the newly-added
@GNULIB_COPY_FILE_RANGE@ with respect to ssize_t.

5 years agomaintainer-makefile: restore portability to non-GNU awks
Akim Demaille [Sat, 22 Jun 2019 15:52:16 +0000 (17:52 +0200)]
maintainer-makefile: restore portability to non-GNU awks

Reported by Tim Rühsen.
* top/maint.mk (AWK): New variable.  Use it.
(sc_prohibit_gnu_make_extensions): Skip if $(AWK) is not gawk.

5 years agoDocument setvbuf _IOLBF problem
Paul Eggert [Sun, 23 Jun 2019 22:36:49 +0000 (15:36 -0700)]
Document setvbuf _IOLBF problem

* doc/posix-functions/setvbuf.texi (setvbuf):
Document MS-Windows portability problem with _IOLBF.

5 years agoDocument lseek SEEK_DATA/SEEK_HOLE
Paul Eggert [Sun, 23 Jun 2019 22:35:29 +0000 (15:35 -0700)]
Document lseek SEEK_DATA/SEEK_HOLE

* doc/posix-functions/lseek.texi (lseek):
Document some systems that do not support SEEK_DATA and SEEK_HOLE.

5 years agoautoupdate
Karl Berry [Sun, 23 Jun 2019 16:24:49 +0000 (09:24 -0700)]
autoupdate

5 years agoautoupdate
Karl Berry [Sun, 23 Jun 2019 16:11:38 +0000 (09:11 -0700)]
autoupdate

5 years agoargmatch: put all the docs member last.
Akim Demaille [Sat, 22 Jun 2019 06:37:31 +0000 (08:37 +0200)]
argmatch: put all the docs member last.

Reported by Bruno Haible.
* lib/argmatch.h (argmatch_##Name##_group_type): Put the args
member before the docs done.
* doc/argmatch.texi, tests/test-argmatch.c: Adjust.

5 years agoargmatch: add support to generate the usage message
Akim Demaille [Tue, 30 Apr 2019 06:01:14 +0000 (08:01 +0200)]
argmatch: add support to generate the usage message

* lib/argmatch.c: Move some #includes and gettext support to...
* lib/argmatch.h: here.
(ARGMATCH_DEFINE_GROUP): New macro.
* tests/test-argmatch.c (argmatch_backup_docs, argmatch_backup_args)
(argmatch_backup_group): New.
(CHECK): New.
(main): Check argmatch_backup_value, argmatch_backup_xvalue,
argmatch_backup_argument and argmatch_backup_usage.
* modules/argmatch: We depend on c99.
* doc/argmatch.texi (Recognizing Option Arguments): New.
* doc/gnulib.texi: Use it.

5 years agothrd: Add comment.
Bruno Haible [Fri, 21 Jun 2019 09:59:22 +0000 (11:59 +0200)]
thrd: Add comment.

* lib/thrd.c (pthread_main_func): Add comment.

5 years agothreads-h: Define 'thread_local' if and only if it actually works.
Bruno Haible [Fri, 21 Jun 2019 09:57:21 +0000 (11:57 +0200)]
threads-h: Define 'thread_local' if and only if it actually works.

5 years agothreads-h: Small doc correction.
Bruno Haible [Fri, 21 Jun 2019 09:23:40 +0000 (11:23 +0200)]
threads-h: Small doc correction.

5 years agothreads-h: Define 'thread_local' if and only it actually works.
Bruno Haible [Fri, 21 Jun 2019 02:35:41 +0000 (04:35 +0200)]
threads-h: Define 'thread_local' if and only it actually works.

* m4/threads.m4 (gl_THREAD_LOCAL_DEFINITION): New macro.
(gl_THREADS_H): Define _Thread_local to __thread also for ARM C, IBM C,
Oracle Solaris Studio C. Compile a simple program, to see whether
_Thread_local basically works. Set HAVE_THREAD_LOCAL and LIBTHREADLOCAL.
(gl_THREADS_H_DEFAULTS): Initialize HAVE_THREAD_LOCAL.
* lib/threads.in.h (thread_local): Undefine if it does not work.
* modules/threads-h (Makefile.am): Substitute HAVE_THREAD_LOCAL.
(Link): Mention LIBTHREADLOCAL.
* tests/test-threads.c: Don't check that thread_local is defined.
* tests/test-thread_local.c: New file.
* modules/threads-h-tests (Files): Add it and macros.h.
(Depends-on): Add thrd and stdint.
(configure.ac): Test whether 'alarm' is declared.
(Makefile.am): Arrange to build and link test-thread_local.
* doc/posix-headers/threads.texi: Mention the platforms that don't
support 'thread_local'.

5 years agothreads-h: Simplify link dependencies.
Bruno Haible [Fri, 21 Jun 2019 01:41:35 +0000 (03:41 +0200)]
threads-h: Simplify link dependencies.

* m4/threads.m4 (gl_THREADS_H): Bail out if Pth threading is requested.
Don't set LTLIBSTDTHREAD.
* modules/thrd (Link): Simplify accordingly.
* modules/mtx (Link): Likewise.
* modules/cnd (Link): Likewise.
* modules/tss (Link): Likewise.
* modules/threads (Link): Likewise.

5 years agothreads-h: Fix link error on FreeBSD 11.
Bruno Haible [Fri, 21 Jun 2019 00:57:46 +0000 (02:57 +0200)]
threads-h: Fix link error on FreeBSD 11.

* m4/threads.m4 (gl_THREADS_H): When linking with -lstdthreads, link
also with -lpthread.

5 years agothreadlib: Fix typo (regression from today).
Bruno Haible [Fri, 21 Jun 2019 00:52:42 +0000 (02:52 +0200)]
threadlib: Fix typo (regression from today).

* m4/threadlib.m4 (gl_THREADLIB_BODY): Fix typo in comment marker.

5 years agowindows-thread, windows-tls: Fix compilation error on 32-bit mingw.
Bruno Haible [Fri, 21 Jun 2019 00:49:38 +0000 (02:49 +0200)]
windows-thread, windows-tls: Fix compilation error on 32-bit mingw.

* lib/windows-thread.c: Include <errno.h>.
* lib/windows-tls.c: Likewise.

5 years agoautoudpate
Karl Berry [Thu, 20 Jun 2019 17:55:09 +0000 (10:55 -0700)]
autoudpate

5 years agotss tests: Small improvement.
Bruno Haible [Thu, 20 Jun 2019 15:44:59 +0000 (17:44 +0200)]
tss tests: Small improvement.

* tests/test-tss.c (test_tss): Pass a different id to each thread.

5 years agothreads: New module.
Bruno Haible [Thu, 20 Jun 2019 02:41:03 +0000 (04:41 +0200)]
threads: New module.

* modules/threads: New file.

5 years agotss: Add tests.
Bruno Haible [Thu, 20 Jun 2019 02:40:39 +0000 (04:40 +0200)]
tss: Add tests.

* tests/test-tss.c: New file, based on tests/test-tls.c.
* modules/tss-tests: New file.

5 years agocnd: Add tests.
Bruno Haible [Thu, 20 Jun 2019 02:40:02 +0000 (04:40 +0200)]
cnd: Add tests.

* tests/test-cnd.c: New file, based on tests/test-cond.c.
* modules/cnd-tests: New file.

5 years agomtx: Add tests.
Bruno Haible [Thu, 20 Jun 2019 02:38:06 +0000 (04:38 +0200)]
mtx: Add tests.

* tests/test-mtx.c: New file, based on tests/test-lock.c.
* tests/test-call_once.c: New file, based on tests/test-once.c.
* modules/mtx-tests: New file.

5 years agothrd: Add tests.
Bruno Haible [Thu, 20 Jun 2019 02:37:23 +0000 (04:37 +0200)]
thrd: Add tests.

* tests/test-thrd_create.c: New file, based on
tests/test-thread_create.c.
* tests/test-thrd_current.c: New file, based on
tests/test-thread_self.c.
* modules/thrd-tests: New file.

5 years agotss: New module.
Bruno Haible [Thu, 20 Jun 2019 02:34:49 +0000 (04:34 +0200)]
tss: New module.

* lib/tss.c: New file.
* modules/tss: New file.
* doc/posix-functions/tss_create.texi: Mention the new module.
* doc/posix-functions/tss_set.texi: Likewise.
* doc/posix-functions/tss_get.texi: Likewise.
* doc/posix-functions/tss_delete.texi: Likewise.

5 years agocnd: New module.
Bruno Haible [Thu, 20 Jun 2019 02:32:42 +0000 (04:32 +0200)]
cnd: New module.

* lib/cnd.c: New file.
* modules/cnd: New file.
* doc/posix-functions/cnd_init.texi: Mention the new module.
* doc/posix-functions/cnd_wait.texi: Likewise.
* doc/posix-functions/cnd_timedwait.texi: Likewise.
* doc/posix-functions/cnd_signal.texi: Likewise.
* doc/posix-functions/cnd_broadcast.texi: Likewise.
* doc/posix-functions/cnd_destroy.texi: Likewise.

5 years agomtx: New module.
Bruno Haible [Thu, 20 Jun 2019 02:30:11 +0000 (04:30 +0200)]
mtx: New module.

* lib/mtx.c: New file.
* modules/mtx: New file.
* doc/posix-functions/call_once.texi: Mention the new module.
* doc/posix-functions/mtx_init.texi: Likewise.
* doc/posix-functions/mtx_lock.texi: Likewise.
* doc/posix-functions/mtx_trylock.texi: Likewise.
* doc/posix-functions/mtx_timedlock.texi: Likewise.
* doc/posix-functions/mtx_unlock.texi: Likewise.
* doc/posix-functions/mtx_destroy.texi: Likewise.

5 years agothrd: New module.
Bruno Haible [Thu, 20 Jun 2019 02:26:31 +0000 (04:26 +0200)]
thrd: New module.

* lib/thrd.c: New file.
* m4/thrd.m4: New file.
* modules/thrd: New file.
* doc/posix-functions/thrd_current.texi: Mention the new module.
* doc/posix-functions/thrd_detach.texi: Likewise.
* doc/posix-functions/thrd_equal.texi: Likewise.
* doc/posix-functions/thrd_exit.texi: Likewise.
* doc/posix-functions/thrd_sleep.texi: Likewise.
* doc/posix-functions/thrd_yield.texi: Likewise.
* doc/posix-functions/thrd_create.texi: Mention the new module and the
AIX bug.
* doc/posix-functions/thrd_join.texi: Mention the new module and the
AIX and Solaris bugs.

5 years agothreads-h: Add tests.
Bruno Haible [Thu, 20 Jun 2019 02:25:58 +0000 (04:25 +0200)]
threads-h: Add tests.

* tests/test-threads.c: New file.
* modules/threads-h-tests: New file.
* tests/test-threads-c++.cc: New file.
* modules/threads-h-c++-tests: New file.

5 years agothreads-h: New module.
Bruno Haible [Thu, 20 Jun 2019 02:17:30 +0000 (04:17 +0200)]
threads-h: New module.

* lib/threads.in.h: New file.
* m4/threads.m4: New file.
* m4/yield.m4 (gl_YIELD): Update comment.
* modules/threads-h: New file.
* modules/yields (configure.ac): Use AC_REQUIRE.
* doc/posix-headers/threads.texi: Mention the new module and the AIX
bugs.

5 years agowindows-thread: New module.
Bruno Haible [Thu, 20 Jun 2019 02:16:20 +0000 (04:16 +0200)]
windows-thread: New module.

* lib/windows-thread.h: New file, based on lib/glthread/thread.h.
* lib/windows-thread.c: New file, based on lib/glthread/thread.c.
* lib/glthread/thread.h: Include windows-thread.h.
(gl_thread_t): Define using glwthread_thread_t.
(glthread_create): Define using glwthread_thread_create.
(glthread_join): Define using glwthread_thread_join.
(gl_thread_self): Define using glwthread_thread_self.
(gl_thread_exit): Define using glwthread_thread_exit.
(glthread_create_func, glthread_join_func, gl_thread_self_func,
gl_thread_exit_func): Remove declarations.
* lib/glthread/thread.c (self_key): Remove variable.
(do_init_self_key, init_self_key): Remove functions.
(struct gl_thread_struct): Remove type.
(get_current_thread_handle, gl_thread_self_func, wrapper_func,
glthread_create_func, glthread_join_func, gl_thread_exit_func): Remove
functions.
* modules/windows-thread: New file.
* modules/thread (Depends-on): Add windows-thread.

5 years agowindows-tls: New module.
Bruno Haible [Thu, 20 Jun 2019 02:15:30 +0000 (04:15 +0200)]
windows-tls: New module.

* lib/windows-tls.h: New file, based on lib/glthread/tls.h.
* lib/windows-tls.c: New file, based on lib/glthread/tls.h.
* lib/glthread/tls.h: Include windows-tls.h.
(gl_tls_key_t): Define using glwthread_tls_key_t.
* modules/windows-tls: New file.
* modules/tls (Depends-on): Add windows-tls.

5 years agowindows-cond: New module.
Bruno Haible [Thu, 20 Jun 2019 02:13:43 +0000 (04:13 +0200)]
windows-cond: New module.

* lib/windows-cond.h: New file, based on lib/glthread/cond.h.
* lib/windows-cond.c: New file, based on lib/glthread/cond.c.
* lib/glthread/cond.h: Include windows-cond.h.
(struct gl_waitqueue_link, gl_linked_waitqueue_t): Remove types.
(gl_cond_t): Define using glwthread_cond_t.
(gl_cond_initializer): Define using GLWTHREAD_COND_INIT.
(glthread_cond_init): Define using glwthread_cond_init.
(glthread_cond_wait): Define using glwthread_cond_wait.
(glthread_cond_timedwait): Define using glwthread_cond_timedwait.
(glthread_cond_signal): Define using glwthread_cond_signal.
(glthread_cond_broadcast): Define using glwthread_cond_broadcast.
(glthread_cond_destroy): Define using glwthread_cond_destroy.
(glthread_cond_init_func, glthread_cond_wait_func,
glthread_cond_timedwait_func, glthread_cond_signal_func,
glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
declarations.
* lib/glthread/cond.c (gl_waitqueue_t, gl_waitqueue_element): Remove
types.
(gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
gl_waitqueue_notify_first, gl_waitqueue_notify_all,
glthread_cond_init_func, glthread_cond_wait_func,
glthread_cond_timedwait_func, glthread_cond_signal_func,
glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
functions.
* modules/windows-cond: New file.
* modules/cond (Depends-on): Add windows-cond. Remove gettimeofday.

5 years agowindows-timedrecmutex: New module.
Bruno Haible [Thu, 20 Jun 2019 02:12:41 +0000 (04:12 +0200)]
windows-timedrecmutex: New module.

* lib/windows-timedrecmutex.h: New file, based on windows-recmutex.h.
* lib/windows-timedrecmutex.c: New file, based on windows-recmutex.c.
* modules/windows-timedrecmutex: New file.

5 years agowindows-timedmutex: New module.
Bruno Haible [Thu, 20 Jun 2019 02:11:57 +0000 (04:11 +0200)]
windows-timedmutex: New module.

* lib/windows-timedmutex.h: New file, based on windows-mutex.h.
* lib/windows-timedmutex.c: New file, based on windows-mutex.c.
* modules/windows-timedmutex: New file.

5 years agowindows-recmutex: New module.
Bruno Haible [Thu, 20 Jun 2019 02:10:39 +0000 (04:10 +0200)]
windows-recmutex: New module.

* lib/windows-recmutex.h: New file, extracted from lib/glthread/lock.h.
* lib/windows-recmutex.c: New file, extracted from lib/glthread/lock.c.
* lib/glthread/lock.h: Include windows-recmutex.h.
(gl_recursive_lock_t): Define using glwthread_recmutex_t.
(gl_recursive_lock_initializer): Define using GLWTHREAD_RECMUTEX_INIT.
(glthread_recursive_lock_init): Define using glwthread_recmutex_init.
(glthread_recursive_lock_lock): Define using glwthread_recmutex_lock.
(glthread_recursive_lock_unlock): Define using
glwthread_recmutex_unlock.
(glthread_recursive_lock_destroy): Define using
glwthread_recmutex_destroy.
(glthread_recursive_lock_init_func, glthread_recursive_lock_lock_func,
glthread_recursive_lock_unlock_func,
glthread_recursive_lock_destroy_func): Remove declarations.
* lib/glthread/lock.c (glthread_recursive_lock_init_func,
glthread_recursive_lock_lock_func, glthread_recursive_lock_unlock_func,
glthread_recursive_lock_destroy_func): Remove functions.
* modules/windows-recmutex: New file.
* modules/lock (Depends-on): Add windows-recmutex.

5 years agowindows-mutex: New module.
Bruno Haible [Thu, 20 Jun 2019 02:08:16 +0000 (04:08 +0200)]
windows-mutex: New module.

* lib/windows-mutex.h: New file, extracted from lib/glthread/lock.h.
* lib/windows-mutex.c: New file, extracted from lib/glthread/lock.c.
* lib/windows-spinlock.h: New file, extracted from lib/glthread/lock.h.
* lib/glthread/lock.h: Include windows-spinlock.h, windows-mutex.h.
(gl_spinlock_t): Remove type.
(gl_lock_t): Define using glwthread_mutex_t.
(gl_lock_initializer): Define using GLWTHREAD_MUTEX_INIT.
(glthread_lock_init): Define using glwthread_mutex_init.
(glthread_lock_lock): Define using glwthread_mutex_lock.
(glthread_lock_unlock): Define using glwthread_mutex_unlock.
(glthread_lock_destroy): Define using glwthread_mutex_destroy.
(glthread_lock_init_func, glthread_lock_lock_func,
glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
declarations.
Use glwthread_spinlock_t instead of gl_spinlock_t.
(gl_rwlock_initializer, gl_recursive_lock_initializer): Define using
GLWTHREAD_SPINLOCK_INIT.
* lib/glthread/lock.c (glthread_lock_init_func, glthread_lock_lock_func,
glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
functions.
* lib/glthread/cond.h: Use glwthread_spinlock_t instead of
gl_spinlock_t.
* modules/windows-mutex: New file.
* modules/lock (Depends-on): Add windows-mutex.

5 years agowindows-once: New module.
Bruno Haible [Thu, 20 Jun 2019 02:04:45 +0000 (04:04 +0200)]
windows-once: New module.

* lib/windows-once.h: New file, extracted from lib/glthread/lock.h.
* lib/windows-once.c: New file, extracted from lib/glthread/lock.c.
* lib/glthread/lock.h: Include windows-once.h.
(gl_once_t): Define using glwthread_once_t.
(gl_once_define): Define using GLWTHREAD_ONCE_INIT.
(glthread_once): Define using glwthread_once.
(glthread_once_func): Remove declaration.
* lib/glthread/lock.c (glthread_once_func): Remove function.
* modules/windows-once: New file.
* modules/lock (Depends-on): Add windows-once.

5 years agolock, cond: Avoid possible counter wraparound on Windows.
Bruno Haible [Thu, 20 Jun 2019 02:04:08 +0000 (04:04 +0200)]
lock, cond: Avoid possible counter wraparound on Windows.

* lib/glthread/lock.c (glthread_lock_lock_func): Leave the 'started'
field of the guard unchanged if it was already positive.
(glthread_rwlock_rdlock_func): Likewise.
(glthread_rwlock_wrlock_func): Likewise.
(glthread_recursive_lock_lock_func): Likewise.
* lib/glthread/cond.c (glthread_cond_wait_func): Likewise.
(glthread_cond_timedwait_func): Likewise.

5 years agocond: Make glthread_cond_timedwait more reliable on Windows.
Bruno Haible [Thu, 20 Jun 2019 02:03:37 +0000 (04:03 +0200)]
cond: Make glthread_cond_timedwait more reliable on Windows.

* lib/glthread/cond.c (glthread_cond_timedwait_func): Initialize the
condition variable before looking at the current time.

5 years agopthread_mutex_timedlock: New module.
Bruno Haible [Thu, 20 Jun 2019 02:02:52 +0000 (04:02 +0200)]
pthread_mutex_timedlock: New module.

* lib/pthread.in.h (pthread_mutex_timedlock): New dummy function and
new declaration.
* lib/pthread_mutex_timedlock.c: New file.
* m4/pthread_mutex_timedlock.m4: New file.
* m4/pthread.m4 (gl_PTHREAD_CHECK): Don't call AC_LIBOBJ here. Test
whether pthread_mutex_timedlock is declared.
(gl_PTHREAD_MODULE_INDICATOR): New macro.
(gl_PTHREAD_DEFAULTS): Initialize GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
HAVE_PTHREAD_MUTEX_TIMEDLOCK.
* modules/pthread (configure.ac): Call AC_LIBOBJ here.
(Makefile.am): Substitute GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
HAVE_PTHREAD_MUTEX_TIMEDLOCK.
* modules/pthread_mutex_timedlock: New file.
* doc/posix-functions/pthread_mutex_timedlock.texi: Mention the new
module.

5 years agothread, lock, cond, tls: Recognize C11 multithreaded applications.
Bruno Haible [Thu, 20 Jun 2019 01:54:56 +0000 (03:54 +0200)]
thread, lock, cond, tls: Recognize C11 multithreaded applications.

* m4/threadlib.m4 (gl_THREADLIB_BODY): Test for <threads.h>.
* lib/glthread/thread.h (c11_threads_in_use): New macro.
(pthread_in_use, pth_in_use, thread_in_use): Use it.
* lib/glthread/lock.h (c11_threads_in_use): New macro.
(pthread_in_use, pth_in_use, thread_in_use): Use it.
* lib/glthread/cond.h (c11_threads_in_use): New macro.
(pthread_in_use, pth_in_use, thread_in_use): Use it.
* lib/glthread/tls.h (c11_threads_in_use): New macro.
(pthread_in_use, pth_in_use, thread_in_use): Use it.

5 years agotls tests: Small improvements.
Bruno Haible [Thu, 20 Jun 2019 01:53:51 +0000 (03:53 +0200)]
tls tests: Small improvements.

* tests/test-tls.c: Include <stdint.h>.
(worker_thread): Avoid gcc warning on 64-bit mingw.
(test_tls): Pass a different id to each thread.
* modules/tls-tests (Depends-on): Add stdint.

5 years agocond tests: Simplify.
Bruno Haible [Thu, 20 Jun 2019 01:52:28 +0000 (03:52 +0200)]
cond tests: Simplify.

* tests/test-cond.c (test_timedcond): Remove redundant assignment.

5 years agolock tests: Avoid reference to undefined variable if !ENABLE_LOCKING.
Bruno Haible [Thu, 20 Jun 2019 01:50:52 +0000 (03:50 +0200)]
lock tests: Avoid reference to undefined variable if !ENABLE_LOCKING.

* tests/test-lock.c (test_once): Don't reference fire_signal if
!ENABLE_LOCKING.

5 years agonanosleep: Relicense under LGPLv2+.
Bruno Haible [Wed, 19 Jun 2019 16:05:07 +0000 (18:05 +0200)]
nanosleep: Relicense under LGPLv2+.

Approved by Jim Meyering, Paul Eggert, Eric Blake, Pádraig Brady.

* modules/nanosleep (License): Change to LGPLv2+.

5 years agoReorder pieces of header in perl scripts.
Bruno Haible [Wed, 19 Jun 2019 10:06:23 +0000 (12:06 +0200)]
Reorder pieces of header in perl scripts.

The desired order is
- Prologue part 1 (2 lines with #!)
- Program short description
- Copyright and license notice
- Written-by notice
- Program short description (optional)
- Program long description (optional)
- Prologue part 2
- Time stamp
- Code

Reported by Paul Eggert.

* build-aux/announce-gen: Reorder header.
* build-aux/gitlog-to-changelog: Likewise.
* build-aux/useless-if-before-free: Likewise.
* build-aux/prefix-gnulib-mk: Add copyright notice and short
description.
* build-aux/update-copyright: Likewise. Add short description. Bump
time-stamp-line-limit to 200.

5 years agoverify-tests: work around xlc bug
Paul Eggert [Wed, 19 Jun 2019 00:41:46 +0000 (17:41 -0700)]
verify-tests: work around xlc bug

Problem reported by Bruno Haible in:
https://lists.gnu.org/r/bug-gnulib/2019-06/msg00049.html
* tests/test-verify.c (item): Move the arithmetic inside the
verify_expr, to avoid tickling a bug in IBM AIX xlc V12.1.

5 years agoRestore Emacs time-stamp hook applicability.
Bruno Haible [Sun, 16 Jun 2019 12:54:43 +0000 (14:54 +0200)]
Restore Emacs time-stamp hook applicability.

Reported by Darshit Shah <darnir@gnu.org>.

* build-aux/useless-if-before-free: Bump time-stamp-line-limit to 50.
* build-aux/announce-gen: Likewise.
* build-aux/gitlog-to-changelog: Likewise.
* build-aux/prefix-gnulib-mk: Likewise.
* build-aux/update-copyright: Likewise.

5 years agoFix comments in last commit.
Bruno Haible [Sat, 15 Jun 2019 20:03:09 +0000 (22:03 +0200)]
Fix comments in last commit.

Reported by Paul Eggert.

* build-aux/useless-if-before-free: Fix comment regarding the second line.
* build-aux/announce-gen: Likewise.
* build-aux/gitlog-to-changelog: Likewise.
* build-aux/prefix-gnulib-mk: Likewise.
* build-aux/update-copyright: Likewise.
* tests/test-update-copyright.sh: Update test program accordingly.

5 years agoFix scripts to have valid executable format on Alpine Linux.
Bruno Haible [Sat, 15 Jun 2019 11:03:58 +0000 (13:03 +0200)]
Fix scripts to have valid executable format on Alpine Linux.

Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
Idea by Paul Eggert.

* build-aux/useless-if-before-free: Use a prologue that starts with
'#!/bin/sh'.
* build-aux/announce-gen: Likewise.
* build-aux/gitlog-to-changelog: Likewise.
* build-aux/prefix-gnulib-mk: Likewise.
* build-aux/update-copyright: Likewise.
* tests/test-update-copyright.sh: Update test program accordingly.

5 years agoautoupdate
Karl Berry [Tue, 11 Jun 2019 14:09:46 +0000 (07:09 -0700)]
autoupdate

5 years agonproc: Ensure nproc(NPROC_ALL) ≥ nproc(NPROC_CURRENT) with glibc ≥ 2.26.
Bruno Haible [Mon, 10 Jun 2019 20:11:11 +0000 (22:11 +0200)]
nproc: Ensure nproc(NPROC_ALL) ≥ nproc(NPROC_CURRENT) with glibc ≥ 2.26.

Reported by Nikita Ermakov <arei@altlinux.org> in
<https://lists.gnu.org/archive/html/bug-gnulib/2019-06/msg00003.html>.

* lib/nproc.c (num_processors_ignoring_omp): Treat a return value of
sysconf (_SC_NPROCESSORS_CONF) == 2 like a return value == 1.

5 years agoposix_spawn_file_actions_addchdir: Fix possible use-after-free bug.
Bruno Haible [Mon, 10 Jun 2019 14:51:51 +0000 (16:51 +0200)]
posix_spawn_file_actions_addchdir: Fix possible use-after-free bug.

* lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
* lib/spawn_faction_addchdir.c (posix_spawn_file_actions_addchdir): Make
a copy of the path argument.
* lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
it.