summaryrefslogtreecommitdiff
path: root/TAO/tao/Exception.cpp
diff options
context:
space:
mode:
authorlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-07-07 21:29:03 +0000
committerlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-07-07 21:29:03 +0000
commit71a21d1d409869e57bd2cc2e4ad6dba333f3b7b2 (patch)
treead9aa1d6949bfffc4c2ee287a351271ebc275471 /TAO/tao/Exception.cpp
parent5a2e0d4a4d171f5337b1fce257bce3d22e086d57 (diff)
downloadATCD-71a21d1d409869e57bd2cc2e4ad6dba333f3b7b2.tar.gz
ChangeLogTag: Wed Jul 07 16:25:05 1999 David L. Levine <levine@cs.wustl.edu>
Diffstat (limited to 'TAO/tao/Exception.cpp')
-rw-r--r--TAO/tao/Exception.cpp47
1 files changed, 43 insertions, 4 deletions
diff --git a/TAO/tao/Exception.cpp b/TAO/tao/Exception.cpp
index 8e1f7708d83..e586cd5a534 100644
--- a/TAO/tao/Exception.cpp
+++ b/TAO/tao/Exception.cpp
@@ -277,8 +277,21 @@ CORBA_SystemException::_tao_errno (int errno_value)
return TAO_EPERM_MINOR_CODE;
case EAFNOSUPPORT:
return TAO_EAFNOSUPPORT_MINOR_CODE;
+ case EAGAIN:
+ return TAO_EAGAIN_MINOR_CODE;
+ case ENOMEM:
+ return TAO_ENOMEM_MINOR_CODE;
+ case EACCES:
+ return TAO_EACCES_MINOR_CODE;
+ case EFAULT:
+ return TAO_EFAULT_MINOR_CODE;
+ case EBUSY:
+ return TAO_EBUSY_MINOR_CODE;
+ case EEXIST:
+ return TAO_EEXIST_MINOR_CODE;
default:
- return TAO_UNKNOWN_MINOR_CODE;
+ // Mask off bottom 7 bits and return them.
+ return errno_value & 0x7F;
}
}
@@ -319,7 +332,7 @@ CORBA_SystemException::_info (void) const
if (VMCID == TAO_DEFAULT_MINOR_CODE)
{
const char *location;
- switch (this->minor () & 0x00000FF0u)
+ switch (this->minor () & 0x00000F80u)
{
case TAO_INVOCATION_CONNECT_MINOR_CODE:
location = "invocation connect failed";
@@ -365,7 +378,8 @@ CORBA_SystemException::_info (void) const
}
const char *errno_indication;
- switch (this->minor () & 0x0000000Fu)
+ char unknown_errno [32];
+ switch (this->minor () & 0x7FU)
{
case TAO_UNSPECIFIED_MINOR_CODE:
errno_indication = "unspecified errno";
@@ -400,8 +414,33 @@ CORBA_SystemException::_info (void) const
case TAO_EAFNOSUPPORT_MINOR_CODE:
errno_indication = "EAFNOSUPPORT";
break;
+ case TAO_EAGAIN_MINOR_CODE:
+ errno_indication = "EAGAIN";
+ break;
+ case TAO_ENOMEM_MINOR_CODE:
+ errno_indication = "ENOMEM";
+ break;
+ case TAO_EACCES_MINOR_CODE:
+ errno_indication = "EACCES";
+ break;
+ case TAO_EFAULT_MINOR_CODE:
+ errno_indication = "EFAULT";
+ break;
+ case TAO_EBUSY_MINOR_CODE:
+ errno_indication = "EBUSY";
+ break;
+ case TAO_EEXIST_MINOR_CODE:
+ errno_indication = "EEXIST";
+ break;
default:
- errno_indication = "unknown errno";
+ {
+ // 7 bits of some other errno.
+ ACE_OS::sprintf (unknown_errno,
+ "low 7 bits of errno: %3u",
+ this->minor () & 0x7FU);
+
+ errno_indication = unknown_errno;
+ }
}
char buffer[BUFSIZ];