From d75fb2deda44a63aab094c64c2aab4528a5e0758 Mon Sep 17 00:00:00 2001 From: Roland Schwarz Date: Sun, 11 Feb 2007 12:00:38 +0000 Subject: [PATCH] Applying long outstanding patch. See:http://thread.gmane.org/gmane.comp.lib.boost.devel/118863/focus=118912 [SVN r36920] --- include/boost/thread/exceptions.hpp | 2 - src/exceptions.cpp | 77 ----------------------------- 2 files changed, 79 deletions(-) diff --git a/include/boost/thread/exceptions.hpp b/include/boost/thread/exceptions.hpp index 30062f71..9b27d312 100644 --- a/include/boost/thread/exceptions.hpp +++ b/include/boost/thread/exceptions.hpp @@ -31,8 +31,6 @@ public: int native_error() const; - const char* message() const; - private: int m_sys_err; }; diff --git a/src/exceptions.cpp b/src/exceptions.cpp index 45575e3c..88813036 100644 --- a/src/exceptions.cpp +++ b/src/exceptions.cpp @@ -10,76 +10,6 @@ #include #include -# ifdef BOOST_NO_STDC_NAMESPACE -namespace std { using ::strerror; } -# endif - -// BOOST_POSIX or BOOST_WINDOWS specify which API to use. -# if !defined( BOOST_WINDOWS ) && !defined( BOOST_POSIX ) -# if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__) -# define BOOST_WINDOWS -# else -# define BOOST_POSIX -# endif -# endif - -# if defined( BOOST_WINDOWS ) -# ifdef BOOST_NO_ANSI_APIS -# include -# include // for USES_CONVERSION and A2CW -# endif -# include "windows.h" -# else -# include // for POSIX error codes -# endif - -namespace -{ - -std::string system_message(int sys_err_code) -{ - std::string str; -# ifdef BOOST_WINDOWS - LPVOID lpMsgBuf; -# ifndef BOOST_NO_ANSI_APIS - ::FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | - FORMAT_MESSAGE_FROM_SYSTEM | - FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, - sys_err_code, - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language - (LPSTR)&lpMsgBuf, - 0, - NULL); - str += static_cast(lpMsgBuf); - ::LocalFree(lpMsgBuf); // free the buffer -# else - ::FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | - FORMAT_MESSAGE_FROM_SYSTEM | - FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, - sys_err_code, - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language - (LPWSTR)&lpMsgBuf, - 0, - NULL); - USES_CONVERSION; - str += static_cast(lpMsgBuf); - : :LocalFree(lpMsgBuf); // free the buffer -# endif - while (str.size() && (str[str.size()-1] == '\n' || - str[str.size()-1] == '\r')) - { - str.erase(str.size()-1); - } -# else - str += std::strerror(errno); -# endif - return str; -} - -} // unnamed namespace - namespace boost { thread_exception::thread_exception() @@ -101,13 +31,6 @@ int thread_exception::native_error() const return m_sys_err; } -const char* thread_exception::message() const -{ - if (m_sys_err != 0) - return system_message(m_sys_err).c_str(); - return what(); -} - lock_error::lock_error() { }