diff options
author | kitty <kitty@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-05-07 21:51:09 +0000 |
---|---|---|
committer | kitty <kitty@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-05-07 21:51:09 +0000 |
commit | de5782950be362432d7ec9285ea6707a5a3e37f9 (patch) | |
tree | b2485860f9cff61edeb6ad4ea0b2f0e771b1a7f0 /ace | |
parent | b76916481783b16b2b904797d02304b2be878859 (diff) | |
download | ATCD-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.cpp | 15 | ||||
-rw-r--r-- | ace/OS.i | 9 |
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; @@ -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); |