annotate modules/getgroups @ 37246:5cfb3a67238d

regex: avoid glibc deadlock during configure glibc has a known bug where certain corruptions of the heap can cause malloc to default to printing a debug message that includes a backtrace, but the act of getting the backtrace uses dlopen which in turn calls into malloc, causing a recursive lock ending in deadlock. Thus, when configure is probing for a known glibc heap corruption bug, the overall configure would hang. The solution suggested by glibc developers is to force malloc to quit printing debug messages, which avoids recursive malloc. * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when glibc bug 15078 in turn triggers bug 16159. Reported by Michal Privoznik. Signed-off-by: Eric Blake <eblake@redhat.com>
author Eric Blake <eblake@redhat.com>
date Tue, 03 Dec 2013 10:34:13 -0700
parents 7d2b3483b32b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23801
c42c33efa265 Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1 Description:
23863
dd9db4271652 Add module descriptions.
Bruno Haible <bruno@clisp.org>
parents: 23801
diff changeset
2 getgroups() function: return the supplementary group IDs of the current process.
23801
c42c33efa265 Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
3
c42c33efa265 Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
4 Files:
c42c33efa265 Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
5 lib/getgroups.c
c42c33efa265 Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
6 m4/getgroups.m4
c42c33efa265 Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
7
c42c33efa265 Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
8 Depends-on:
31969
b67b4741ef70 getgroups: avoid calling exit
Eric Blake <ebb9@byu.net>
parents: 27188
diff changeset
9 unistd
34374
8d2d2b7258a2 Avoid unnecessary compilation units, through conditional dependencies.
Bruno Haible <bruno@clisp.org>
parents: 31974
diff changeset
10 malloc-posix [test $HAVE_GETGROUPS = 0 || test $REPLACE_GETGROUPS = 1]
8d2d2b7258a2 Avoid unnecessary compilation units, through conditional dependencies.
Bruno Haible <bruno@clisp.org>
parents: 31974
diff changeset
11 stdint [test $HAVE_GETGROUPS = 0 || test $REPLACE_GETGROUPS = 1]
23801
c42c33efa265 Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
12
c42c33efa265 Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
13 configure.ac:
24707
9982c6947b5b Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
Jim Meyering <jim@meyering.net>
parents: 23888
diff changeset
14 gl_FUNC_GETGROUPS
34653
22ee316cd27d getgroups: Move AC_LIBOBJ invocations to module description.
Bruno Haible <bruno@clisp.org>
parents: 34384
diff changeset
15 if test $HAVE_GETGROUPS = 0 || test $REPLACE_GETGROUPS = 1; then
22ee316cd27d getgroups: Move AC_LIBOBJ invocations to module description.
Bruno Haible <bruno@clisp.org>
parents: 34384
diff changeset
16 AC_LIBOBJ([getgroups])
22ee316cd27d getgroups: Move AC_LIBOBJ invocations to module description.
Bruno Haible <bruno@clisp.org>
parents: 34384
diff changeset
17 fi
31970
5812c0cebfa3 getgroups, getugroups: provide stubs for mingw
Eric Blake <ebb9@byu.net>
parents: 31969
diff changeset
18 gl_UNISTD_MODULE_INDICATOR([getgroups])
23801
c42c33efa265 Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
19
c42c33efa265 Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
20 Makefile.am:
c42c33efa265 Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
21
c42c33efa265 Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
22 Include:
c42c33efa265 Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
23 <unistd.h>
c42c33efa265 Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
24
24942
c85b8fccd94e Add a license tag to every module.
Bruno Haible <bruno@clisp.org>
parents: 24707
diff changeset
25 License:
37122
7d2b3483b32b mgetgroups: relax license to LGPLv2+
Eric Blake <eblake@redhat.com>
parents: 34653
diff changeset
26 LGPLv2+
24942
c85b8fccd94e Add a license tag to every module.
Bruno Haible <bruno@clisp.org>
parents: 24707
diff changeset
27
23888
811702529909 Add a Maintainer.
Bruno Haible <bruno@clisp.org>
parents: 23863
diff changeset
28 Maintainer:
31969
b67b4741ef70 getgroups: avoid calling exit
Eric Blake <ebb9@byu.net>
parents: 27188
diff changeset
29 Jim Meyering, Eric Blake