aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2013-02-14 16:36:22 +0100
committerLukas Larsson <[email protected]>2013-02-15 11:05:24 +0100
commit10e9e948c2cccc03f9c3e6f326d4294c23122a99 (patch)
treeb88f3b9aefb1f84a91468668016467e3530aa0ff
parent45422f6fd460d6acc30e66f58dc2188d232f2b12 (diff)
downloadotp-10e9e948c2cccc03f9c3e6f326d4294c23122a99.tar.gz
otp-10e9e948c2cccc03f9c3e6f326d4294c23122a99.tar.bz2
otp-10e9e948c2cccc03f9c3e6f326d4294c23122a99.zip
Do not use writev on osx snow leopard
writev will for large files return 0 indefinetely causing the efile driver to go into an infinite loop.
-rw-r--r--erts/configure.in11
1 files changed, 10 insertions, 1 deletions
diff --git a/erts/configure.in b/erts/configure.in
index 1e3a607a6f..7257751068 100644
--- a/erts/configure.in
+++ b/erts/configure.in
@@ -1923,12 +1923,21 @@ fi
AC_CHECK_FUNCS([getipnodebyname getipnodebyaddr gethostbyname2])
AC_CHECK_FUNCS([ieee_handler fpsetmask finite isnan isinf res_gethostbyname dlopen \
- pread pwrite writev memmove strerror strerror_r strncasecmp \
+ pread pwrite memmove strerror strerror_r strncasecmp \
gethrtime localtime_r gmtime_r inet_pton mmap mremap memcpy mallopt \
sbrk _sbrk __sbrk brk _brk __brk \
flockfile fstat strlcpy strlcat setsid posix2time time2posix \
setlocale nl_langinfo poll])
+dnl writev on OS X snow leopard is broken for files > 4GB
+case $host_os in
+ darwin10.8.0)
+ AC_MSG_CHECKING([for writev])
+ AC_MSG_RESULT(no, not stable on OS X Snow Leopard) ;;
+ *)
+ AC_CHECK_FUNCS([writev]) ;;
+esac
+
AC_CHECK_DECLS([posix2time, time2posix],,,[#include <time.h>])
disable_vfork=false