bus: Raise file descriptor limit to match configuration
[platform/upstream/dbus.git] / configure.in
index ea11098..e6b0fef 100644 (file)
@@ -302,7 +302,7 @@ AC_MSG_CHECKING([32-bit integer type])
 
 case 4 in
 $ac_cv_sizeof_short)
-  dbusint32=int
+  dbusint32=short
   ;;
 $ac_cv_sizeof_int)
   dbusint32=int
@@ -532,6 +532,8 @@ closedir(dirp);
        fi
 fi
 
+AC_CHECK_HEADERS(sys/resource.h)
+
 AC_CHECK_HEADERS(dirent.h)
 
 AC_CHECK_HEADERS(execinfo.h, [AC_CHECK_FUNCS(backtrace)])
@@ -694,6 +696,7 @@ AC_CACHE_CHECK([abstract socket namespace],
 #include <errno.h>
 ]],
 [[
+  size_t slen;
   int listen_fd;
   struct sockaddr_un addr;
 
@@ -708,9 +711,13 @@ AC_CACHE_CHECK([abstract socket namespace],
   memset (&addr, '\0', sizeof (addr));
   addr.sun_family = AF_UNIX;
   strcpy (addr.sun_path, "X/tmp/dbus-fake-socket-path-used-in-configure-test");
+  /* SUN_LEN uses strlen() so need to calculate it before adding \0 at the
+   * beginning.
+   */
+  slen = SUN_LEN(&addr);
   addr.sun_path[0] = '\0'; /* this is what makes it abstract */
 
-  if (bind (listen_fd, (struct sockaddr*) &addr, SUN_LEN (&addr)) < 0)
+  if (bind (listen_fd, (struct sockaddr*) &addr, slen) < 0)
     {
        fprintf (stderr, "Abstract socket namespace bind() failed: %s\n",
                 strerror (errno));
@@ -1302,11 +1309,10 @@ AC_SUBST(SECTION_FLAGS)
 AC_SUBST(SECTION_LDFLAGS)
 AC_MSG_RESULT($ac_gcsections)
 
-# Add -D_POSIX_PTHREAD_SEMANTICS if on Solaris
-#
 case $host_os in
     solaris*)
-       CFLAGS="$CFLAGS -D_POSIX_PTHREAD_SEMANTICS" ;;
+        # Solaris' C library apparently needs these runes to be threadsafe...
+        CFLAGS="$CFLAGS -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT"
 esac
 
 changequote(,)dnl