summaryrefslogtreecommitdiff
path: root/source3/lib/replace
diff options
context:
space:
mode:
authorDerrell Lipman <derrell@samba.org>2007-05-10 01:27:18 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:21:56 -0500
commit1b55cf43849543babe0210ea0260752212a53f22 (patch)
tree5d20527a1f7b6ea3d4cfc5ac9a1bd8ead5cbe9b0 /source3/lib/replace
parent8ef8dab4fb0945974c74e96a5dd69e1559519b6c (diff)
downloadsamba-1b55cf43849543babe0210ea0260752212a53f22.tar.gz
samba-1b55cf43849543babe0210ea0260752212a53f22.tar.bz2
samba-1b55cf43849543babe0210ea0260752212a53f22.zip
r22772: - Still working on the fact that readahead() is not declared (on at least one
OS) but is available for linking. Instead of running configure tests with -Werror-implicit-function-declaration in developer mode (which may lead to different library functions being used in developer mode than when not in developer mode), add tests for whether readahead is declared. If not, provide a replacement declaration in lib/replace. (This used to be commit 7d05fa8b32b5b33e95fd9d552d2a45013b4803ec)
Diffstat (limited to 'source3/lib/replace')
-rw-r--r--source3/lib/replace/README5
-rw-r--r--source3/lib/replace/libreplace.m41
-rw-r--r--source3/lib/replace/replace.h5
3 files changed, 11 insertions, 0 deletions
diff --git a/source3/lib/replace/README b/source3/lib/replace/README
index 77558b2ca9..a2f9e2fa29 100644
--- a/source3/lib/replace/README
+++ b/source3/lib/replace/README
@@ -55,6 +55,11 @@ strtoull
socketpair
strptime
+These external declarations are provided for those systems which lack the
+declaration but provide the function:
+
+readahead
+
Types:
bool
socklen_t
diff --git a/source3/lib/replace/libreplace.m4 b/source3/lib/replace/libreplace.m4
index e9b19b7cf5..a030ce2e90 100644
--- a/source3/lib/replace/libreplace.m4
+++ b/source3/lib/replace/libreplace.m4
@@ -155,6 +155,7 @@ AC_CHECK_FUNCS(pread pwrite strndup strcasestr strtok_r mkdtemp socketpair)
AC_HAVE_DECL(setresuid, [#include <unistd.h>])
AC_HAVE_DECL(setresgid, [#include <unistd.h>])
AC_HAVE_DECL(errno, [#include <errno.h>])
+AC_HAVE_DECL(readahead, [#include <fcntl.h>])
AC_CACHE_CHECK([for secure mkstemp],samba_cv_HAVE_SECURE_MKSTEMP,[
AC_TRY_RUN([#include <stdlib.h>
diff --git a/source3/lib/replace/replace.h b/source3/lib/replace/replace.h
index b96356ac46..916d5a55e6 100644
--- a/source3/lib/replace/replace.h
+++ b/source3/lib/replace/replace.h
@@ -111,6 +111,11 @@ extern char *sys_errlist[];
extern int errno;
#endif
+#if defined(HAVE_LINUX_READAHEAD) && ! defined(HAVE_READAHEAD_DECL)
+ssize_t readahead(int fd, off64_t offset, size_t count);
+#endif
+
+
#ifndef HAVE_STRDUP
#define strdup rep_strdup
char *rep_strdup(const char *s);