Repository: thrift Updated Branches: refs/heads/master d60f9789d -> ea6076f17
THRIFT-2430 Crash during TThreadPoolServer shutdown Patch: Lars Benner Project: http://git-wip-us.apache.org/repos/asf/thrift/repo Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/ea6076f1 Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/ea6076f1 Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/ea6076f1 Branch: refs/heads/master Commit: ea6076f1750fecf2f2bd0a9fa4747f916588427b Parents: d60f978 Author: Jens Geyer <[email protected]> Authored: Fri Mar 28 22:45:27 2014 +0200 Committer: Jens Geyer <[email protected]> Committed: Fri Mar 28 22:45:27 2014 +0200 ---------------------------------------------------------------------- .../src/thrift/transport/TTransportException.cpp | 19 +++++++++++++++++++ .../src/thrift/transport/TTransportException.h | 18 +----------------- 2 files changed, 20 insertions(+), 17 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/thrift/blob/ea6076f1/lib/cpp/src/thrift/transport/TTransportException.cpp ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/TTransportException.cpp b/lib/cpp/src/thrift/transport/TTransportException.cpp index 2c1f303..2b1430c 100644 --- a/lib/cpp/src/thrift/transport/TTransportException.cpp +++ b/lib/cpp/src/thrift/transport/TTransportException.cpp @@ -28,4 +28,23 @@ using boost::lexical_cast; namespace apache { namespace thrift { namespace transport { + const char* TTransportException::what() const throw() { + if (message_.empty()) { + switch (type_) { + case UNKNOWN : return "TTransportException: Unknown transport exception"; + case NOT_OPEN : return "TTransportException: Transport not open"; + case TIMED_OUT : return "TTransportException: Timed out"; + case END_OF_FILE : return "TTransportException: End of file"; + case INTERRUPTED : return "TTransportException: Interrupted"; + case BAD_ARGS : return "TTransportException: Invalid arguments"; + case CORRUPTED_DATA : return "TTransportException: Corrupted Data"; + case INTERNAL_ERROR : return "TTransportException: Internal error"; + default : return "TTransportException: (Invalid exception type)"; + } + } else { + return message_.c_str(); + } + } + + }}} // apache::thrift::transport http://git-wip-us.apache.org/repos/asf/thrift/blob/ea6076f1/lib/cpp/src/thrift/transport/TTransportException.h ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/TTransportException.h b/lib/cpp/src/thrift/transport/TTransportException.h index 028dbb8..8558837 100644 --- a/lib/cpp/src/thrift/transport/TTransportException.h +++ b/lib/cpp/src/thrift/transport/TTransportException.h @@ -83,23 +83,7 @@ class TTransportException : public apache::thrift::TException { return type_; } - virtual const char* what() const throw() { - if (message_.empty()) { - switch (type_) { - case UNKNOWN : return "TTransportException: Unknown transport exception"; - case NOT_OPEN : return "TTransportException: Transport not open"; - case TIMED_OUT : return "TTransportException: Timed out"; - case END_OF_FILE : return "TTransportException: End of file"; - case INTERRUPTED : return "TTransportException: Interrupted"; - case BAD_ARGS : return "TTransportException: Invalid arguments"; - case CORRUPTED_DATA : return "TTransportException: Corrupted Data"; - case INTERNAL_ERROR : return "TTransportException: Internal error"; - default : return "TTransportException: (Invalid exception type)"; - } - } else { - return message_.c_str(); - } - } + virtual const char* what() const throw(); protected: /** Just like strerror_r but returns a C++ string object. */
