diff options
author | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-06-16 18:17:52 +0000 |
---|---|---|
committer | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-06-16 18:17:52 +0000 |
commit | b507b0691a35ea9b7192e65ea0e435847ce4fd1d (patch) | |
tree | 09ed4da2c283288cb50b892d6b428fe74cce5b5f /ace/ACE.cpp | |
parent | b2e62a6ef510b4560a3b9f0d69de1f3df4da4d3e (diff) | |
download | ATCD-ami_phase2_end.tar.gz |
This commit was manufactured by cvs2svn to create tagami_phase2_end
'ami_phase2_end'.
Diffstat (limited to 'ace/ACE.cpp')
-rw-r--r-- | ace/ACE.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/ace/ACE.cpp b/ace/ACE.cpp index b5f7d325e98..5b96172d8e6 100644 --- a/ace/ACE.cpp +++ b/ace/ACE.cpp @@ -1222,14 +1222,16 @@ ACE::leave_recv_timedwait (ACE_HANDLE handle, int val) { if (timeout != 0 - && ACE_BIT_DISABLED (val, - ACE_NONBLOCK)) + && ACE_BIT_DISABLED (val, ACE_NONBLOCK)) { - // Save/restore errno. - ACE_Errno_Guard error (errno); + // We need to stash errno here because ACE::clr_flags() may + // reset it. + int error = errno; + // Only disable ACE_NONBLOCK if we weren't in non-blocking mode // originally. ACE::clr_flags (handle, ACE_NONBLOCK); + errno = error; } } @@ -1302,11 +1304,14 @@ ACE::leave_send_timedwait (ACE_HANDLE handle, if (timeout != 0 && ACE_BIT_DISABLED (val, ACE_NONBLOCK)) { - // Save/restore errno. - ACE_Errno_Guard error (errno); + // We need to stash errno here because ACE::clr_flags() may + // reset it. + int error = errno; + // Only disable ACE_NONBLOCK if we weren't in non-blocking mode // originally. ACE::clr_flags (handle, ACE_NONBLOCK); + errno = error; } } |