Mercurial > gnulib
annotate modules/bind @ 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 | 81f93aab9044 |
children |
rev | line source |
---|---|
30285
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
1 Description: |
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
2 bind() function: bind a server socket to a port. |
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
3 |
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
4 Files: |
30381
9db23dc1bf3a
Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
30285
diff
changeset
|
5 lib/bind.c |
9db23dc1bf3a
Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
30285
diff
changeset
|
6 lib/w32sock.h |
30285
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
7 |
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
8 Depends-on: |
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
9 sys_socket |
35344
a2d612ea3e73
socket functions: Avoid link errors on Solaris.
Bruno Haible <bruno@clisp.org>
parents:
34374
diff
changeset
|
10 socketlib |
34374
8d2d2b7258a2
Avoid unnecessary compilation units, through conditional dependencies.
Bruno Haible <bruno@clisp.org>
parents:
30381
diff
changeset
|
11 errno [test "$ac_cv_header_winsock2_h" = yes] |
35443
81f93aab9044
New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
Bruno Haible <bruno@clisp.org>
parents:
35344
diff
changeset
|
12 msvc-nothrow [test "$ac_cv_header_winsock2_h" = yes] |
30285
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
13 |
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
14 configure.ac: |
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
15 AC_REQUIRE([gl_HEADER_SYS_SOCKET]) |
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
16 if test "$ac_cv_header_winsock2_h" = yes; then |
30381
9db23dc1bf3a
Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
30285
diff
changeset
|
17 AC_LIBOBJ([bind]) |
30285
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
18 fi |
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
19 gl_SYS_SOCKET_MODULE_INDICATOR([bind]) |
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
20 |
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
21 Makefile.am: |
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
22 |
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
23 Include: |
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
24 <sys/socket.h> |
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
25 |
35344
a2d612ea3e73
socket functions: Avoid link errors on Solaris.
Bruno Haible <bruno@clisp.org>
parents:
34374
diff
changeset
|
26 Link: |
a2d612ea3e73
socket functions: Avoid link errors on Solaris.
Bruno Haible <bruno@clisp.org>
parents:
34374
diff
changeset
|
27 $(LIBSOCKET) |
a2d612ea3e73
socket functions: Avoid link errors on Solaris.
Bruno Haible <bruno@clisp.org>
parents:
34374
diff
changeset
|
28 |
30285
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
29 License: |
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
30 LGPLv2+ |
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
31 |
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
32 Maintainer: |
434dd52e2675
New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
33 Paolo Bonzini, Simon Josefsson |