Change socketpair test to verify that it works rather than just exists,
authorDavid Dykstra <dwd@samba.org>
Tue, 22 Feb 2000 15:55:40 +0000 (15:55 +0000)
committerDavid Dykstra <dwd@samba.org>
Tue, 22 Feb 2000 15:55:40 +0000 (15:55 +0000)
because I have an obscure system (Amdahl's UTS 2.1.2) in which socketpair()
exists but is broken.

configure.in

index 3e876e2..61bab4c 100644 (file)
@@ -97,7 +97,19 @@ AC_FUNC_UTIME_NULL
 AC_CHECK_FUNCS(waitpid wait4 getcwd strdup strerror chown chmod mknod)
 AC_CHECK_FUNCS(fchmod fstat strchr readlink link utime utimes strftime)
 AC_CHECK_FUNCS(memmove lchown vsnprintf snprintf setsid glob strpbrk)
-AC_CHECK_FUNCS(strlcat strlcpy inet_aton socketpair)
+AC_CHECK_FUNCS(strlcat strlcpy inet_aton)
+
+AC_CACHE_CHECK([for working socketpair],rsync_cv_HAVE_SOCKETPAIR,[
+AC_TRY_RUN([#include <sys/types.h>
+           #include <sys/socket.h>
+           main() {
+               int fd[2];
+               exit((socketpair(AF_UNIX, SOCK_STREAM, 0, fd) != -1) ? 0 : 1);
+           }],
+rsync_cv_HAVE_SOCKETPAIR=yes,rsync_cv_HAVE_SOCKETPAIR=no,rsync_cv_HAVE_SOCKETPAIR=cross)])
+if test x"$rsync_cv_HAVE_SOCKETPAIR" = x"yes"; then
+    AC_DEFINE(HAVE_SOCKETPAIR)
+fi
 
 AC_CACHE_CHECK([for working fnmatch],rsync_cv_HAVE_FNMATCH,[
 AC_TRY_RUN([#include <fnmatch.h>