Mercurial > gnulib
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 |
rev | line source |
---|---|
23801 | 1 Description: |
23863 | 2 getgroups() function: return the supplementary group IDs of the current process. |
23801 | 3 |
4 Files: | |
5 lib/getgroups.c | |
6 m4/getgroups.m4 | |
7 | |
8 Depends-on: | |
31969 | 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 | 12 |
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 | 19 |
20 Makefile.am: | |
21 | |
22 Include: | |
23 <unistd.h> | |
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 | 28 Maintainer: |
31969 | 29 Jim Meyering, Eric Blake |