summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorRussell Bryant <russell@russellbryant.com>2007-06-29 20:35:09 +0000
committerRussell Bryant <russell@russellbryant.com>2007-06-29 20:35:09 +0000
commit408dbc430482bc94819d68b768608573bf351112 (patch)
tree9e01621c41fcbbbd3c12d161b63a79ad22099161 /configure.ac
parent3caa225108fd22c02b9e96f291e3045a5eada09f (diff)
Merge changes from team/russell/http_filetxfer
Handle transferring large files from the built-in http server. Previously, the code attempted to malloc a block as large as the file itself. Now it uses the sendfile() system call so that the file isn't copied into userspace at all if it is available. Otherwise, it just uses a read/write of small chunks at a time. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72701 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac17
1 files changed, 17 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 4c4a48c7a..9e8279d07 100644
--- a/configure.ac
+++ b/configure.ac
@@ -364,6 +364,23 @@ AC_CHECK_HEADER([libkern/OSAtomic.h],
AC_CHECK_SIZEOF(int)
+AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [#include <stdlib.h>
+ #include <sys/sendfile.h>],
+ [sendfile(1, 0, NULL, 1);])
+ ],[
+ AC_MSG_RESULT(yes)
+ have_sendfile=yes
+ ],[
+ AC_MSG_RESULT(no)
+ have_sendfile=no
+ ]
+)
+if test "${have_sendfile}" = "yes"; then
+ AC_DEFINE([HAVE_SENDFILE], 1, [Define if your system has the sendfile syscall.])
+fi
+
# do the package library checks now
AST_EXT_LIB_CHECK([ALSA], [asound], [snd_spcm_init], [alsa/asoundlib.h], [-lm -ldl])