summaryrefslogtreecommitdiff
path: root/ace
diff options
context:
space:
mode:
authorkitty <kitty@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-05-07 21:51:09 +0000
committerkitty <kitty@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-05-07 21:51:09 +0000
commitde5782950be362432d7ec9285ea6707a5a3e37f9 (patch)
treeb2485860f9cff61edeb6ad4ea0b2f0e771b1a7f0 /ace
parentb76916481783b16b2b904797d02304b2be878859 (diff)
downloadATCD-de5782950be362432d7ec9285ea6707a5a3e37f9.tar.gz
ChangeLogTag: Tue May 7 16:45:13 2002 Krishnakumar B <kitty@cs.wustl.edu>
Diffstat (limited to 'ace')
-rw-r--r--ace/ACE.cpp15
-rw-r--r--ace/OS.i9
2 files changed, 16 insertions, 8 deletions
diff --git a/ace/ACE.cpp b/ace/ACE.cpp
index 20581addd1b..1f5372b3811 100644
--- a/ace/ACE.cpp
+++ b/ace/ACE.cpp
@@ -2758,8 +2758,13 @@ ACE::handle_timed_complete (ACE_HANDLE h,
#if defined (SOL_SOCKET) && defined (SO_ERROR)
int sock_err = 0;
int sock_err_len = sizeof (sock_err);
- ACE_OS::getsockopt (h, SOL_SOCKET, SO_ERROR,
- (char *)&sock_err, &sock_err_len);
+ int sockopt_ret = ACE_OS::getsockopt (h, SOL_SOCKET, SO_ERROR,
+ (char *)&sock_err, &sock_err_len);
+ if (sockopt_ret < 0)
+ {
+ h = ACE_INVALID_HANDLE;
+ }
+
if (sock_err != 0 || known_failure)
{
h = ACE_INVALID_HANDLE;
@@ -3372,7 +3377,7 @@ ACE::strnew (const char *s)
if (s == 0)
return 0;
char *t = 0;
- ACE_NEW_RETURN (t,
+ ACE_NEW_RETURN (t,
char [::strlen (s) + 1],
0);
if (t == 0)
@@ -3388,8 +3393,8 @@ ACE::strnew (const wchar_t *s)
if (s == 0)
return 0;
wchar_t *t = 0;
- ACE_NEW_RETURN (t,
- wchar_t[ACE_OS_String::strlen (s) + 1],
+ ACE_NEW_RETURN (t,
+ wchar_t[ACE_OS_String::strlen (s) + 1],
0);
if (t == 0)
return 0;
diff --git a/ace/OS.i b/ace/OS.i
index e8378b80ba3..ea7060ef263 100644
--- a/ace/OS.i
+++ b/ace/OS.i
@@ -53,8 +53,10 @@ typedef char *ACE_SOCKOPT_TYPE1;
typedef const char *ACE_SOCKOPT_TYPE1;
#endif /* ACE_HAS_VOIDPTR_SOCKOPT */
-#if !defined (_BSD_SOURCE) && \
- !defined (_XOPEN_SOURCE) && !defined (_XOPEN_SOURCE_EXTENDED)
+#if (!defined (_BSD_SOURCE) && \
+ !defined (_XOPEN_SOURCE) && !defined (_XOPEN_SOURCE_EXTENDED))
+ || (defined (_XOPEN_SOURCE) && defined (__GNUC__))
+
# if defined (ACE_LACKS_SETREUID_PROTOTYPE)
extern "C" {
extern int setreuid (uid_t ruid, uid_t euid);
@@ -66,7 +68,8 @@ extern "C" {
extern int setregid (gid_t rgid, gid_t egid);
}
# endif /* ACE_LACKS_SETREGID_PROTOTYPE */
-#endif /* !_BSD_SOURCE && !_XOPEN_SOURCE && !_XOPEN_SOURCE_EXTENDED */
+#endif /* !_BSD_SOURCE && !_XOPEN_SOURCE && !_XOPEN_SOURCE_EXTENDED
+ || _XOPEN_SOURCE && __GNUC__ */
#if defined (ACE_NEEDS_FTRUNCATE)
extern "C" ACE_Export int ftruncate (ACE_HANDLE handle, long len);