summaryrefslogtreecommitdiff
path: root/ACE
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2006-12-27 09:26:59 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2006-12-27 09:26:59 +0000
commit435c5e6d8837ca92f098a83413ea112ca1fc97d6 (patch)
treedf1de14a0e2125e93fc62255f587590ed7f9f5d5 /ACE
parent304020a7eb2d95c6244577787c6db6fc2e0e4784 (diff)
downloadATCD-435c5e6d8837ca92f098a83413ea112ca1fc97d6.tar.gz
Wed Dec 27 09:24:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
Diffstat (limited to 'ACE')
-rw-r--r--ACE/ACE-INSTALL.html9
-rw-r--r--ACE/ChangeLog41
-rw-r--r--ACE/ace/INET_Addr.cpp31
-rw-r--r--ACE/ace/Map_Manager.cpp6
-rw-r--r--ACE/ace/Map_Manager.h2
-rw-r--r--ACE/ace/Name_Proxy.cpp2
-rw-r--r--ACE/ace/Name_Request_Reply.cpp40
-rw-r--r--ACE/ace/OS_NS_dirent.inl30
-rw-r--r--ACE/ace/Time_Request_Reply.cpp10
-rw-r--r--ACE/ace/config-aix-5.x.h6
-rw-r--r--ACE/ace/config-cygwin32.h1
-rw-r--r--ACE/ace/config-freebsd.h1
-rw-r--r--ACE/ace/config-hpux-11.00.h3
-rw-r--r--ACE/ace/config-linux-common.h12
-rw-r--r--ACE/ace/config-netbsd.h1
-rw-r--r--ACE/ace/config-posix.h19
-rw-r--r--ACE/ace/config-rtems.h1
-rw-r--r--ACE/ace/config-sunos5.5.h5
-rw-r--r--ACE/ace/config-vxworks6.4.h1
19 files changed, 127 insertions, 94 deletions
diff --git a/ACE/ACE-INSTALL.html b/ACE/ACE-INSTALL.html
index 72eb8d7ce98..8c83dae39f4 100644
--- a/ACE/ACE-INSTALL.html
+++ b/ACE/ACE-INSTALL.html
@@ -153,10 +153,11 @@ document</a>.</p><p>
<tr>
<th>Remedy IT</th>
<td>Maintains ACE on many platforms required for their ACE and
- TAO service offerings. Besides the standard DOC group platforms
- we also support AIX, Borland C++ Builder 6/2006, CBuilderX 1.0, MinGW,
- Cygwin, VxWorks 5.5.x & 6.x, OpenVMS 8.2-1 & 8.3,
- Tru64, SuSE Linux on Alpha/IA32/EM64T, RTEMS, QNX, LynxOS 4.0/4.2,
+ TAO service offerings. We support AIX, Borland C++ Builder 6/2006,
+ CBuilderX 1.0, MinGW, Microsoft Visual C++, GCC,
+ Cygwin, VxWorks 5.5.x & 6.x, OpenVMS 8.2-1 & 8.3 on Alpha and IA64,
+ BlueCAT Linux, RedHat, Fedora,
+ Tru64, SuSE Linux on Alpha/IA32/EM64T/IA64, RTEMS, QNX, LynxOS 4.0/4.2,
HPUX 11i v1/v2 32/64 bit on PA-RISC, and
HPUX 11i v2 on Itanium. The Intel C++ compiler is supported on
Windows 32/64bit, Linux IA32/EM64T/Itanium2.
diff --git a/ACE/ChangeLog b/ACE/ChangeLog
index 8fbef5e9164..58ab40a61ee 100644
--- a/ACE/ChangeLog
+++ b/ACE/ChangeLog
@@ -1,3 +1,44 @@
+Wed Dec 27 09:24:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_dirent.inl (readdir_r):
+ Simplified the OS checks in this method, use the new
+ define ACE_HAS_3_PARAM_READDIR_R. This is then set in the
+ config files below, maybe it has to be set in more, but the
+ scoreboard will show that.
+
+ * ace/config-aix-5.x.h:
+ * ace/config-cygwin32.h:
+ * ace/config-freebsd.h:
+ * ace/config-hpux-11.00.h:
+ * ace/config-linux-common.h:
+ * ace/config-netbsd.h:
+ * ace/config-rtems.h:
+ * ace/config-sunos5.5.h:
+ * ace/config-vxworks6.4.h:
+ Added ACE_HAS_3_PARAM_READDIR_R
+
+ * ace/config-linux-common.h:
+ Added new ACE_LACKS_LINUX_VERSION_H around include of linux/version.h.
+ This file isn't present with BlueCAT 4 Linux from LynuxWorks.
+
+ * ace/config-posix.h:
+ Layout changes
+
+ * ACE-INSTALL.html:
+ Updated supported platforms by Remedy IT
+
+ * ace/INET_Addr.cpp:
+ Use the ACE_NTOHL macro and remove the check for ACE_LACKS_NTOHL
+
+ * ace/Map_Manager.{h,cpp}:
+ Changed free_ to a real bool
+
+ * ace/Name_Proxy.cpp:
+ * ace/Name_Request_Reply.cpp:
+ * ace/Time_Request_Reply.cpp
+ Use the ACE_NTOHL macro so that this file compiles without networking
+ support
+
Wed Dec 27 09:10:27 UTC 2006 Olli Savia <ops@iki.fi>
* ace/Process.cpp:
diff --git a/ACE/ace/INET_Addr.cpp b/ACE/ace/INET_Addr.cpp
index 63dd22fbdfb..cced1b9b47b 100644
--- a/ACE/ace/INET_Addr.cpp
+++ b/ACE/ace/INET_Addr.cpp
@@ -317,17 +317,9 @@ ACE_INET_Addr::set (u_short port_number,
struct in_addr addrv4;
if (ACE_OS::inet_aton (host_name,
&addrv4) == 1)
-# if !defined (ACE_LACKS_NTOHL)
return this->set (port_number,
- encode ? ntohl (addrv4.s_addr) : addrv4.s_addr,
+ encode ? ACE_NTOHL (addrv4.s_addr) : addrv4.s_addr,
encode);
-# else
- {
- ACE_UNUSED_ARG (port_number);
- ACE_UNUSED_ARG (encode);
- return -1;
- }
-# endif /* ACE_LACKS_NTOHL */
else
{
# if defined (ACE_VXWORKS) && defined (ACE_LACKS_GETHOSTBYNAME)
@@ -350,13 +342,9 @@ ACE_INET_Addr::set (u_short port_number,
(void) ACE_OS::memcpy ((void *) &addrv4.s_addr,
hp->h_addr,
hp->h_length);
-# if !defined (ACE_LACKS_NTOHL)
return this->set (port_number,
- encode ? ntohl (addrv4.s_addr) : addrv4.s_addr,
+ encode ? ACE_NTOHL (addrv4.s_addr) : addrv4.s_addr,
encode);
-# else
- return -1;
-# endif /* ACE_LACKS_NTOHL */
}
}
#endif /* ACE_HAS_IPV6 */
@@ -369,7 +357,6 @@ static int get_port_number_from_name (const char port_name[],
{
int port_number = 0;
-#if !defined (ACE_LACKS_HTONS)
// Maybe port_name is directly a port number?
char *endp = 0;
port_number = static_cast<int> (ACE_OS::strtol (port_name, &endp, 10));
@@ -380,10 +367,9 @@ static int get_port_number_from_name (const char port_name[],
// store that value as the port number. NOTE: this number must
// be returned in network byte order!
u_short n = static_cast<u_short> (port_number);
- n = htons (n);
+ n = ACE_HTONS (n);
return n;
}
-#endif
// We try to resolve port number from its name.
@@ -756,12 +742,8 @@ ACE_INET_Addr::set_port_number (u_short port_number,
{
ACE_TRACE ("ACE_INET_Addr::set_port_number");
-#if !defined (ACE_LACKS_HTONS)
if (encode)
- port_number = htons (port_number);
-#else
- ACE_UNUSED_ARG (encode);
-#endif /* ACE_LACKS_HTONS */
+ port_number = ACE_HTONS (port_number);
#if defined (ACE_HAS_IPV6)
if (this->get_type () == AF_INET6)
@@ -1113,11 +1095,8 @@ ACE_INET_Addr::get_ip_address (void) const
return 0;
}
#endif /* ACE_HAS_IPV6 */
-#if !defined (ACE_LACKS_NTOHL)
- return ntohl (ACE_UINT32 (this->inet_addr_.in4_.sin_addr.s_addr));
-#else
+ return ACE_NTOHL (ACE_UINT32 (this->inet_addr_.in4_.sin_addr.s_addr));
return 0;
-#endif /* ACE_LACKS_NTOHL */
}
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ACE/ace/Map_Manager.cpp b/ACE/ace/Map_Manager.cpp
index f39124ce9d9..7ee226e8821 100644
--- a/ACE/ace/Map_Manager.cpp
+++ b/ACE/ace/Map_Manager.cpp
@@ -170,7 +170,7 @@ ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::move_all_free_slots_from_occupied_lis
if (current_slot.free_)
{
// Reset free flag to zero before moving to free list.
- current_slot.free_ = 0;
+ current_slot.free_ = false;
// Move from occupied list to free list.
this->move_from_occupied_list_to_free_list (position_of_current_slot);
@@ -461,7 +461,7 @@ ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::unbind_slot (ACE_UINT32 slot)
// run out of free slots in the free list.
//
- this->search_structure_[slot].free_ = 1;
+ this->search_structure_[slot].free_ = true;
#else
@@ -530,7 +530,7 @@ ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::resize_i (ACE_UINT32 new_size)
// flag to be zero so that we don't have to set it when the slot
// is moved to the occupied list. In addition, this flag has no
// meaning while this slot is in the free list.
- temp[i].free_ = 0;
+ temp[i].free_ = false;
#endif /* ACE_HAS_LAZY_MAP_MANAGER */
diff --git a/ACE/ace/Map_Manager.h b/ACE/ace/Map_Manager.h
index d57da083b03..2c211534b59 100644
--- a/ACE/ace/Map_Manager.h
+++ b/ACE/ace/Map_Manager.h
@@ -79,7 +79,7 @@ public:
#if defined (ACE_HAS_LAZY_MAP_MANAGER)
/// Is this entry free?
- int free_;
+ bool free_;
#endif /* ACE_HAS_LAZY_MAP_MANAGER */
diff --git a/ACE/ace/Name_Proxy.cpp b/ACE/ace/Name_Proxy.cpp
index 82d0bd27eca..e33237069fd 100644
--- a/ACE/ace/Name_Proxy.cpp
+++ b/ACE/ace/Name_Proxy.cpp
@@ -166,7 +166,7 @@ ACE_Name_Proxy::recv_reply (ACE_Name_Request &reply)
case sizeof (ACE_UINT32):
{
// Transform the length into host byte order.
- ssize_t length = ntohl (reply.length ());
+ ssize_t length = ACE_NTOHL (reply.length ());
// Receive the rest of the request message.
// @@ beware of blocking read!!!.
diff --git a/ACE/ace/Name_Request_Reply.cpp b/ACE/ace/Name_Request_Reply.cpp
index f92bbf3c15d..6f02d03d57f 100644
--- a/ACE/ace/Name_Request_Reply.cpp
+++ b/ACE/ace/Name_Request_Reply.cpp
@@ -269,17 +269,17 @@ ACE_Name_Request::encode (void *&buf)
for (size_t i = 0; i < nv_data_len; i++)
this->transfer_.data_[i] =
- htons (this->transfer_.data_[i]);
+ ACE_HTONS (this->transfer_.data_[i]);
buf = (void *) &this->transfer_;
- this->transfer_.block_forever_ = htonl (this->transfer_.block_forever_);
- this->transfer_.usec_timeout_ = htonl (this->transfer_.usec_timeout_);
- this->transfer_.sec_timeout_ = htonl (this->transfer_.sec_timeout_);
- this->transfer_.length_ = htonl (this->transfer_.length_);
- this->transfer_.msg_type_ = htonl (this->transfer_.msg_type_);
- this->transfer_.name_len_ = htonl (this->transfer_.name_len_);
- this->transfer_.value_len_ = htonl (this->transfer_.value_len_);
- this->transfer_.type_len_ = htonl (this->transfer_.type_len_);
+ this->transfer_.block_forever_ = ACE_HTONL (this->transfer_.block_forever_);
+ this->transfer_.usec_timeout_ = ACE_HTONL (this->transfer_.usec_timeout_);
+ this->transfer_.sec_timeout_ = ACE_HTONL (this->transfer_.sec_timeout_);
+ this->transfer_.length_ = ACE_HTONL (this->transfer_.length_);
+ this->transfer_.msg_type_ = ACE_HTONL (this->transfer_.msg_type_);
+ this->transfer_.name_len_ = ACE_HTONL (this->transfer_.name_len_);
+ this->transfer_.value_len_ = ACE_HTONL (this->transfer_.value_len_);
+ this->transfer_.type_len_ = ACE_HTONL (this->transfer_.type_len_);
return len;
}
@@ -292,14 +292,14 @@ ACE_Name_Request::decode (void)
{
ACE_TRACE ("ACE_Name_Request::decode");
// Decode the fixed-sized portion first.
- this->transfer_.block_forever_ = ntohl (this->transfer_.block_forever_);
- this->transfer_.usec_timeout_ = ntohl (this->transfer_.usec_timeout_);
- this->transfer_.sec_timeout_ = ntohl (this->transfer_.sec_timeout_);
- this->transfer_.length_ = ntohl (this->transfer_.length_);
- this->transfer_.msg_type_ = ntohl (this->transfer_.msg_type_);
- this->transfer_.name_len_ = ntohl (this->transfer_.name_len_);
- this->transfer_.value_len_ = ntohl (this->transfer_.value_len_);
- this->transfer_.type_len_ = ntohl (this->transfer_.type_len_);
+ this->transfer_.block_forever_ = ACE_NTOHL (this->transfer_.block_forever_);
+ this->transfer_.usec_timeout_ = ACE_NTOHL (this->transfer_.usec_timeout_);
+ this->transfer_.sec_timeout_ = ACE_NTOHL (this->transfer_.sec_timeout_);
+ this->transfer_.length_ = ACE_NTOHL (this->transfer_.length_);
+ this->transfer_.msg_type_ = ACE_NTOHL (this->transfer_.msg_type_);
+ this->transfer_.name_len_ = ACE_NTOHL (this->transfer_.name_len_);
+ this->transfer_.value_len_ = ACE_NTOHL (this->transfer_.value_len_);
+ this->transfer_.type_len_ = ACE_NTOHL (this->transfer_.type_len_);
size_t nv_data_len =
(this->transfer_.name_len_ + this->transfer_.value_len_)
@@ -527,9 +527,9 @@ int
ACE_Name_Reply::decode (void)
{
ACE_TRACE ("ACE_Name_Reply::decode");
- this->transfer_.length_ = ntohl (this->transfer_.length_);
- this->transfer_.type_ = ntohl (this->transfer_.type_);
- this->transfer_.errno_ = ntohl (this->transfer_.errno_);
+ this->transfer_.length_ = ACE_NTOHL (this->transfer_.length_);
+ this->transfer_.type_ = ACE_NTOHL (this->transfer_.type_);
+ this->transfer_.errno_ = ACE_NTOHL (this->transfer_.errno_);
return 0;
}
diff --git a/ACE/ace/OS_NS_dirent.inl b/ACE/ace/OS_NS_dirent.inl
index 73f0f8dce82..8bfb3e84c18 100644
--- a/ACE/ace/OS_NS_dirent.inl
+++ b/ACE/ace/OS_NS_dirent.inl
@@ -52,13 +52,13 @@ struct ACE_DIRENT *
readdir (ACE_DIR *d)
{
#if defined (ACE_HAS_DIRENT)
-# if defined (ACE_WIN32) && defined (ACE_LACKS_READDIR)
- return ACE_OS::readdir_emulation (d);
+# if defined (ACE_WIN32) && defined (ACE_LACKS_READDIR)
+ return ACE_OS::readdir_emulation (d);
# elif defined (ACE_HAS_WREADDIR) && defined (ACE_USES_WCHAR)
- return ::wreaddir (d);
-# else /* ACE_WIN32 && ACE_LACKS_READDIR */
- return ::readdir (d);
-# endif /* ACE_WIN32 && ACE_LACKS_READDIR */
+ return ::wreaddir (d);
+# else /* ACE_WIN32 && ACE_LACKS_READDIR */
+ return ::readdir (d);
+# endif /* ACE_WIN32 && ACE_LACKS_READDIR */
#else
ACE_UNUSED_ARG (d);
ACE_NOTSUP_RETURN (0);
@@ -78,18 +78,8 @@ readdir_r (ACE_DIR *dirp,
return 0; // Keep iterating
else
return 1; // Oops, some type of error!
-#elif defined (ACE_HAS_DIRENT) && !defined (ACE_LACKS_READDIR_R)
-# if (defined (sun) && (defined (_POSIX_PTHREAD_SEMANTICS) || \
- (_FILE_OFFSET_BITS == 64) || \
- (_POSIX_C_SOURCE - 0 >= 199506L))) || \
- (!defined (sun) && (defined (ACE_HAS_PTHREADS_STD) || \
- defined (ACE_HAS_PTHREADS_DRAFT7) || \
- defined (_POSIX_SOURCE) || \
- defined (__FreeBSD__) || \
- defined (__NetBSD__) || \
- defined (HPUX_11)) || \
- defined (__GNUC__) && defined (_AIX) || \
- defined (ACE_VXWORKS))
+#elif defined (ACE_HAS_DIRENT) && !defined (ACE_LACKS_READDIR_R)
+# if defined (ACE_HAS_3_PARAM_READDIR_R)
return ::readdir_r (dirp, entry, result);
# else
// <result> had better not be 0!
@@ -156,7 +146,7 @@ scandir (const ACE_TCHAR *dirname,
ACE_INLINE void
seekdir (ACE_DIR *d, long loc)
{
-#if defined (ACE_HAS_DIRENT) && !defined (ACE_LACKS_SEEKDIR)
+#if defined (ACE_HAS_DIRENT) && !defined (ACE_LACKS_SEEKDIR)
::seekdir (d, loc);
#else /* ! ACE_HAS_DIRENT || ACE_LACKS_SEEKDIR */
ACE_UNUSED_ARG (d);
@@ -167,7 +157,7 @@ seekdir (ACE_DIR *d, long loc)
ACE_INLINE long
telldir (ACE_DIR *d)
{
-#if defined (ACE_HAS_DIRENT) && !defined (ACE_LACKS_TELLDIR)
+#if defined (ACE_HAS_DIRENT) && !defined (ACE_LACKS_TELLDIR)
return ::telldir (d);
#else /* ! ACE_HAS_DIRENT || ACE_LACKS_TELLDIR */
ACE_UNUSED_ARG (d);
diff --git a/ACE/ace/Time_Request_Reply.cpp b/ACE/ace/Time_Request_Reply.cpp
index e7524ce6ce7..125929385ce 100644
--- a/ACE/ace/Time_Request_Reply.cpp
+++ b/ACE/ace/Time_Request_Reply.cpp
@@ -146,11 +146,11 @@ ACE_Time_Request::decode (void)
{
ACE_TRACE ("ACE_Time_Request::decode");
// Decode
- this->transfer_.block_forever_ = ntohl (this->transfer_.block_forever_);
- this->transfer_.usec_timeout_ = ntohl (this->transfer_.usec_timeout_);
- this->transfer_.sec_timeout_ = ntohl (this->transfer_.sec_timeout_);
- this->transfer_.msg_type_ = ntohl (this->transfer_.msg_type_);
- this->transfer_.time_ = ntohl (this->transfer_.time_);
+ this->transfer_.block_forever_ = ACE_NTOHL (this->transfer_.block_forever_);
+ this->transfer_.usec_timeout_ = ACE_NTOHL (this->transfer_.usec_timeout_);
+ this->transfer_.sec_timeout_ = ACE_NTOHL (this->transfer_.sec_timeout_);
+ this->transfer_.msg_type_ = ACE_NTOHL (this->transfer_.msg_type_);
+ this->transfer_.time_ = ACE_NTOHL (this->transfer_.time_);
this->time_ = this->transfer_.time_;
return 0;
diff --git a/ACE/ace/config-aix-5.x.h b/ACE/ace/config-aix-5.x.h
index 52aacd42404..4df314c547b 100644
--- a/ACE/ace/config-aix-5.x.h
+++ b/ACE/ace/config-aix-5.x.h
@@ -123,6 +123,8 @@
# endif /* _REENTRANT */
# endif /* !ACE_MT_SAFE */
+#define ACE_HAS_3_PARAM_READDIR_R
+
#else /* ! __xlC__ && ! __GNUG__ */
# ifdef __cplusplus /* Let it slide for C compilers. */
# error unsupported compiler in ace/config-aix-5.x.h
@@ -329,8 +331,8 @@
#define ACE_HAS_POSIX_GETPWNAM_R
#define ACE_HAS_SCANDIR
-# define ACE_SCANDIR_CMP_USES_VOIDPTR
-# define ACE_SCANDIR_SEL_LACKS_CONST
+#define ACE_SCANDIR_CMP_USES_VOIDPTR
+#define ACE_SCANDIR_SEL_LACKS_CONST
#define ACE_HAS_SIGSUSPEND
#define ACE_HAS_TIMEZONE /* Call tzset() to set timezone */
diff --git a/ACE/ace/config-cygwin32.h b/ACE/ace/config-cygwin32.h
index 04c4f9c9497..215ffb8e37f 100644
--- a/ACE/ace/config-cygwin32.h
+++ b/ACE/ace/config-cygwin32.h
@@ -80,6 +80,7 @@
#define ACE_HAS_POSITION_INDEPENDENT_POINTERS 1
#define ACE_HAS_SOCKADDR_MSG_NAME 1
#define ACE_LACKS_PRI_T 1
+#define ACE_HAS_3_PARAM_READDIR_R
// Compiler/platform supports alloca().
// Although ACE does have alloca() on this compiler/platform combination, it is
diff --git a/ACE/ace/config-freebsd.h b/ACE/ace/config-freebsd.h
index 15fb1f0c7b9..28c7744900e 100644
--- a/ACE/ace/config-freebsd.h
+++ b/ACE/ace/config-freebsd.h
@@ -258,6 +258,7 @@ typedef union sigval sigval_t;
#define ACE_LACKS_WCSDUP
#define ACE_LACKS_ITOW
#define ACE_HAS_3_PARAM_WCSTOK
+#define ACE_HAS_3_PARAM_READDIR_R
#if (__FreeBSD_version >= 501000)
# define ACE_HAS_PTHREAD_SETSTACK
diff --git a/ACE/ace/config-hpux-11.00.h b/ACE/ace/config-hpux-11.00.h
index bf2982b53f1..9ae16582e5a 100644
--- a/ACE/ace/config-hpux-11.00.h
+++ b/ACE/ace/config-hpux-11.00.h
@@ -413,6 +413,9 @@
# define ACE_HAS_3_PARAM_WCSTOK
#endif
+#define ACE_HAS_3_PARAM_READDIR_R
+
+
//////////////////////////////////////////////////////////////////////////
//
// STREAMS information
diff --git a/ACE/ace/config-linux-common.h b/ACE/ace/config-linux-common.h
index 3cf30e6d11e..dbe9e5b12c5 100644
--- a/ACE/ace/config-linux-common.h
+++ b/ACE/ace/config-linux-common.h
@@ -43,9 +43,11 @@
// with shm_open/shm_unlink pairing in ACE which needs to be fixed when I have time.
# if defined (ACE_HAS_SHM_OPEN)
# undef ACE_HAS_SHM_OPEN
-# endif
+# endif /* ACE_HAS_SHM_OPEN */
-# include <linux/version.h>
+# if !defined (ACE_LACKS_LINUX_VERSION_H)
+# include <linux/version.h>
+# endif /* !ACE_LACKS_LINUX_VERSION_H */
# if defined (ACE_USES_FIFO_SEM)
// Don't use this for Linux NPTL since this has complete
@@ -251,6 +253,8 @@
# define ACE_HAS_3_PARAM_WCSTOK
#endif
+#define ACE_HAS_3_PARAM_READDIR_R
+
#if !defined (ACE_DEFAULT_BASE_ADDR)
# define ACE_DEFAULT_BASE_ADDR ((char *) 0x80000000)
#endif /* ! ACE_DEFAULT_BASE_ADDR */
@@ -396,7 +400,9 @@
// Detect if getsockname() and getpeername() returns random values in
// the sockaddr_in::sin_zero field by evaluation of the kernel
// version. Since version 2.5.47 this problem is fixed.
-#include <linux/version.h>
+# if !defined (ACE_LACKS_LINUX_VERSION_H)
+# include <linux/version.h>
+# endif /* !ACE_LACKS_LINUX_VERSION_H */
# if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,47))
# define ACE_GETNAME_RETURNS_RANDOM_SIN_ZERO 0
# else
diff --git a/ACE/ace/config-netbsd.h b/ACE/ace/config-netbsd.h
index de28fe5de61..931b473102e 100644
--- a/ACE/ace/config-netbsd.h
+++ b/ACE/ace/config-netbsd.h
@@ -25,6 +25,7 @@
#define ACE_HAS_GETTIMEOFDAY 1
#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R 1
#define ACE_HAS_3_PARAM_WCSTOK 1
+#define ACE_HAS_3_PARAM_READDIR_R 1
#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG 1
#define ACE_HAS_ALT_CUSERID 1
#define ACE_HAS_AUTOMATIC_INIT_FINI 1
diff --git a/ACE/ace/config-posix.h b/ACE/ace/config-posix.h
index 9735b6b3d69..dc1f0091ab5 100644
--- a/ACE/ace/config-posix.h
+++ b/ACE/ace/config-posix.h
@@ -49,17 +49,18 @@
# undef ACE_HAS_THREADS
# else
# if defined(_POSIX_THREADS) && (_POSIX_THREADS-0 != -1 )
-# if !defined(ACE_HAS_THREADS)
-# define ACE_HAS_THREADS
-# endif /* ACE_HAS_THREADS */
+# if !defined(ACE_HAS_THREADS)
+# define ACE_HAS_THREADS
+# endif /* ACE_HAS_THREADS */
-# if !defined(ACE_HAS_PTHREADS)
-# define ACE_HAS_PTHREADS
-# endif /* ACE_HAS_PTHREADS */
+# if !defined(ACE_HAS_PTHREADS)
+# define ACE_HAS_PTHREADS
+# endif /* ACE_HAS_PTHREADS */
+
+# if !defined(ACE_HAS_PTHREADS_STD)
+# define ACE_HAS_PTHREADS_STD
+# endif /* ACE_HAS_PTHREADS_STD */
-# if !defined(ACE_HAS_PTHREADS_STD)
-# define ACE_HAS_PTHREADS_STD
-# endif /* ACE_HAS_PTHREADS_STD */
# endif /* _POSIX_THREADS */
# endif /* ACE_HAS_THREADS */
#endif /* !ACE_MT_SAFE */
diff --git a/ACE/ace/config-rtems.h b/ACE/ace/config-rtems.h
index af54ebb2121..8b40b912605 100644
--- a/ACE/ace/config-rtems.h
+++ b/ACE/ace/config-rtems.h
@@ -78,6 +78,7 @@
#define ACE_PAGE_SIZE 4096
#define ACE_HAS_ALT_CUSERID
#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
+#define ACE_HAS_3_PARAM_READDIR_R
#define ACE_HAS_CLOCK_GETTIME
#define ACE_HAS_CLOCK_SETTIME
#define ACE_HAS_DIRENT
diff --git a/ACE/ace/config-sunos5.5.h b/ACE/ace/config-sunos5.5.h
index c73496de5ff..d829cf14642 100644
--- a/ACE/ace/config-sunos5.5.h
+++ b/ACE/ace/config-sunos5.5.h
@@ -402,5 +402,10 @@
#undef ACE_HAS_PROC_FS
#undef ACE_HAS_PRUSAGE_T
#endif /* (_LARGEFILE_SOURCE) || (_FILE_OFFSET_BITS==64) */
+
+#if defined (_POSIX_PTHREAD_SEMANTICS) || (_FILE_OFFSET_BITS == 64) || (_POSIX_C_SOURCE - 0 >= 199506L)
+# define ACE_HAS_3_PARAM_READDIR_R
+#endif
+
#include /**/ "ace/post.h"
#endif /* ACE_CONFIG_H */
diff --git a/ACE/ace/config-vxworks6.4.h b/ACE/ace/config-vxworks6.4.h
index bfe661fdd26..3425d90170f 100644
--- a/ACE/ace/config-vxworks6.4.h
+++ b/ACE/ace/config-vxworks6.4.h
@@ -56,6 +56,7 @@
// OS-specific configuration
#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
+#define ACE_HAS_3_PARAM_READDIR_R
#define ACE_HAS_NONCONST_GETBY
#define ACE_HAS_NONCONST_SWAB
#define ACE_LACKS_UNIX_SYSLOG