Mercurial > gnulib
view modules/pipe-filter-gi @ 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 | babac511c18f |
children | 1f14c6dd175d |
line wrap: on
line source
Description: Filtering of data through a subprocess. Files: lib/pipe-filter.h lib/pipe-filter-gi.c lib/pipe-filter-aux.h lib/pipe-filter-aux.c Depends-on: spawn-pipe wait-process error extern-inline fcntl-h gettext-h stdbool stdint stdlib sys_select unistd configure.ac: AC_CHECK_FUNCS_ONCE([select]) Makefile.am: lib_SOURCES += pipe-filter-gi.c pipe-filter-aux.c Include: "pipe-filter.h" License: GPL Maintainer: Paolo Bonzini, Bruno Haible