Merged revisions 134125 via svnmerge from

https://origsvn.digium.com/svn/asterisk/trunk

........
r134125 | mmichelson | 2008-07-28 14:53:56 -0500 (Mon, 28 Jul 2008) | 27 lines

This commit compensates for buggy poll(2)
implementations. Asterisk has, for a long time,
had its own implementation of poll(2) which
just used the input arguments to call select(2).
In 1.4, this internal implementation was used
for Darwin systems. This was removed in Asterisk
trunk at some point, but it seems as though this
was not the right move to make.

On Mac OS X, it appears as though the poll used
to gather CLI input does not respond properly
when connecting via a remote Asterisk console.
Reverting to the use of Asterisk's poll fixed
the issue.

Also, there is now an option for the configure
script, --enable-internal-poll, which will allow
for anyone to use Asterisk's internal poll
implementation in case they suspect that their
system's poll implementation is buggy.

closes issue #11928)
Reported by: adriavidal
Patches:
      1.6.0-configurev2.patch uploaded by putnopvut (license 60)


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@134126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.0
Mark Michelson 17 years ago
parent bdbeb72fc4
commit b2eaaae0b5

@ -566,3 +566,9 @@ Miscellaneous
turned on, via the CHANNEL(trace) dialplan function. Could be useful for
dialplan debugging.
* iLBC source code no longer included (see UPGRADE.txt for details)
* A new option for the configure script, --enable-internal-poll, has been added
for use with systems which may have a buggy implementation of the poll system
call. If you notice odd behavior such as the CLI being unresponsive on remote
consoles, you may want to try using this option. This option is enabled by default
on Darwin systems since it is known that the Darwin poll() implementation has
odd issues.

17
configure vendored

@ -1,5 +1,5 @@
#! /bin/sh
# From configure.ac Revision: 132644 .
# From configure.ac Revision: 132706 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.61 for asterisk 1.6.
#
@ -1571,6 +1571,7 @@ Optional Features:
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-dev-mode Turn on developer mode
--disable-largefile omit support for large files
--enable-internal-poll Use Asterisk's poll implementation
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@ -15561,6 +15562,20 @@ fi
# Check whether --enable-internal-poll was given.
if test "${enable_internal_poll+set}" = set; then
enableval=$enable_internal_poll; case "${enableval}" in
y|ye|yes) HAS_POLL="";;
n|no) HAS_POLL="${HAS_POLL}" ;;
*) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-internal-poll" >&5
echo "$as_me: error: bad value ${enableval} for --enable-internal-poll" >&2;}
{ (exit 1); exit 1; }; } ;;
esac
fi
# https support (in main/http.c) uses funopen on BSD systems,
# fopencookie on linux

@ -326,8 +326,18 @@ AC_CHECK_HEADER([sys/poll.h],
[HAS_POLL=1]
AC_DEFINE([HAVE_SYS_POLL_H], 1, [Define to 1 if your system has working sys/poll.h]),
)
AC_ARG_ENABLE(internal-poll,
[ --enable-internal-poll Use Asterisk's poll implementation],
[case "${enableval}" in
y|ye|yes) HAS_POLL="";;
n|no) HAS_POLL="${HAS_POLL}" ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-internal-poll) ;;
esac])
AC_SUBST(HAS_POLL)
# https support (in main/http.c) uses funopen on BSD systems,
# fopencookie on linux
AC_CHECK_FUNCS([funopen fopencookie])

@ -42,8 +42,13 @@ OBJS+=say.o
AST_LIBS += $(SSL_LIB)
AST_LIBS += $(BKTR_LIB)
ifeq ($(POLL_AVAILABLE),)
OBJS+=poll.o
else
ifneq ($(findstring darwin,$(OSARCH)),)
OBJS+=poll.o
endif
endif
ifneq ($(findstring $(OSARCH), linux-gnu uclinux linux-uclibc linux-gnueabi ),)

Loading…
Cancel
Save