Author: astitcher Date: Tue May 12 19:50:45 2009 New Revision: 774051 URL: http://svn.apache.org/viewvc?rev=774051&view=rev Log: QPID-1852 Removed thread unsafe code in Logger Fixed some potentially iffy code in Connector.h if a derived Connector doesn't have activateSecurityLayer()
Modified: qpid/trunk/qpid/cpp/src/qpid/agent/QmfAgentImportExport.h qpid/trunk/qpid/cpp/src/qpid/client/Connector.cpp qpid/trunk/qpid/cpp/src/qpid/client/Connector.h qpid/trunk/qpid/cpp/src/qpid/log/Logger.cpp qpid/trunk/qpid/cpp/src/qpid/sys/Time.h qpid/trunk/qpid/cpp/src/qpid/sys/posix/Time.cpp qpid/trunk/qpid/cpp/src/qpid/sys/windows/Time.cpp qpid/trunk/qpid/cpp/src/qpid/sys/windows/Time.h Modified: qpid/trunk/qpid/cpp/src/qpid/agent/QmfAgentImportExport.h URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/agent/QmfAgentImportExport.h?rev=774051&r1=774050&r2=774051&view=diff ============================================================================== --- qpid/trunk/qpid/cpp/src/qpid/agent/QmfAgentImportExport.h (original) +++ qpid/trunk/qpid/cpp/src/qpid/agent/QmfAgentImportExport.h Tue May 12 19:50:45 2009 @@ -20,7 +20,7 @@ * under the License. */ -#if defined(WIN32) && !defined(QPID_DECLARE_STATIC) && !defined(qpidbroker_EXPORTS) +#if defined(WIN32) && !defined(QPID_DECLARE_STATIC) #if defined(QMF_AGENT_EXPORT) || defined (qmfagent_EXPORTS) #define QMF_AGENT_EXTERN __declspec(dllexport) #else Modified: qpid/trunk/qpid/cpp/src/qpid/client/Connector.cpp URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/Connector.cpp?rev=774051&r1=774050&r2=774051&view=diff ============================================================================== --- qpid/trunk/qpid/cpp/src/qpid/client/Connector.cpp (original) +++ qpid/trunk/qpid/cpp/src/qpid/client/Connector.cpp Tue May 12 19:50:45 2009 @@ -77,6 +77,10 @@ theProtocolRegistry()[proto] = connectorFactory; } +void Connector::activateSecurityLayer(std::auto_ptr<qpid::sys::SecurityLayer>) +{ +} + class TCPConnector : public Connector, public sys::Codec, private sys::Runnable { typedef std::deque<framing::AMQFrame> Frames; Modified: qpid/trunk/qpid/cpp/src/qpid/client/Connector.h URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/Connector.h?rev=774051&r1=774050&r2=774051&view=diff ============================================================================== --- qpid/trunk/qpid/cpp/src/qpid/client/Connector.h (original) +++ qpid/trunk/qpid/cpp/src/qpid/client/Connector.h Tue May 12 19:50:45 2009 @@ -72,7 +72,7 @@ virtual framing::OutputHandler* getOutputHandler() = 0; virtual const std::string& getIdentifier() const = 0; - virtual void activateSecurityLayer(std::auto_ptr<qpid::sys::SecurityLayer>) {} + virtual void activateSecurityLayer(std::auto_ptr<qpid::sys::SecurityLayer>); }; Modified: qpid/trunk/qpid/cpp/src/qpid/log/Logger.cpp URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/log/Logger.cpp?rev=774051&r1=774050&r2=774051&view=diff ============================================================================== --- qpid/trunk/qpid/cpp/src/qpid/log/Logger.cpp (original) +++ qpid/trunk/qpid/cpp/src/qpid/log/Logger.cpp Tue May 12 19:50:45 2009 @@ -21,6 +21,7 @@ #include "SinkOptions.h" #include "qpid/memory.h" #include "qpid/sys/Thread.h" +#include "qpid/sys/Time.h" #include <boost/pool/detail/singleton.hpp> #include <boost/bind.hpp> #include <boost/function.hpp> @@ -73,25 +74,7 @@ if (!prefix.empty()) os << prefix << ": "; if (flags&TIME) - { - const char * month_abbrevs[] = { "jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec" }; - time_t rawtime; - struct tm * timeinfo; - - time ( & rawtime ); - timeinfo = localtime ( &rawtime ); - char time_string[100]; - sprintf ( time_string, - "%d-%s-%02d %02d:%02d:%02d", - 1900 + timeinfo->tm_year, - month_abbrevs[timeinfo->tm_mon], - timeinfo->tm_mday, - timeinfo->tm_hour, - timeinfo->tm_min, - timeinfo->tm_sec - ); - os << time_string << " "; - } + qpid::sys::outputFormattedNow(os); if (flags&LEVEL) os << LevelTraits::name(s.level) << " "; if (flags&THREAD) Modified: qpid/trunk/qpid/cpp/src/qpid/sys/Time.h URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/Time.h?rev=774051&r1=774050&r2=774051&view=diff ============================================================================== --- qpid/trunk/qpid/cpp/src/qpid/sys/Time.h (original) +++ qpid/trunk/qpid/cpp/src/qpid/sys/Time.h Tue May 12 19:50:45 2009 @@ -165,6 +165,9 @@ /** Portable sleep for a number of microseconds */ QPID_COMMON_EXTERN void usleep(uint64_t usecs); +/** Output formatted date/time for now*/ +void outputFormattedNow(std::ostream&); + }} #endif /*!_sys_Time_h*/ Modified: qpid/trunk/qpid/cpp/src/qpid/sys/posix/Time.cpp URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/posix/Time.cpp?rev=774051&r1=774050&r2=774051&view=diff ============================================================================== --- qpid/trunk/qpid/cpp/src/qpid/sys/posix/Time.cpp (original) +++ qpid/trunk/qpid/cpp/src/qpid/sys/posix/Time.cpp Tue May 12 19:50:45 2009 @@ -79,25 +79,28 @@ return o << int64_t(d) << "ns"; } -std::ostream& operator<<(std::ostream& o, const AbsTime& t) { - static const char * month_abbrevs[] = { - "jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec" - }; - struct tm * timeinfo; - time_t rawtime(t.timepoint/TIME_SEC); - timeinfo = localtime (&rawtime); +namespace { +inline std::ostream& outputFormattedTime(std::ostream& o, const ::time_t* time) { + ::tm timeinfo; char time_string[100]; - sprintf ( time_string, - "%d-%s-%02d %02d:%02d:%02d", - 1900 + timeinfo->tm_year, - month_abbrevs[timeinfo->tm_mon], - timeinfo->tm_mday, - timeinfo->tm_hour, - timeinfo->tm_min, - timeinfo->tm_sec - ); + ::strftime(time_string, 100, + "%Y-%m-%d %H:%M:%S", + localtime_r(time, &timeinfo)); return o << time_string; } +} + +std::ostream& operator<<(std::ostream& o, const AbsTime& t) { + ::time_t rawtime(t.timepoint/TIME_SEC); + return outputFormattedTime(&rawtime); +} + +void outputFormattedNow(std::ostream& o) { + ::time_t rawtime; + ::time(&rawtime); + outputFormattedTime(o, &rawtime); + o << " "; +} void sleep(int secs) { ::sleep(secs); Modified: qpid/trunk/qpid/cpp/src/qpid/sys/windows/Time.cpp URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/windows/Time.cpp?rev=774051&r1=774050&r2=774051&view=diff ============================================================================== --- qpid/trunk/qpid/cpp/src/qpid/sys/windows/Time.cpp (original) +++ qpid/trunk/qpid/cpp/src/qpid/sys/windows/Time.cpp Tue May 12 19:50:45 2009 @@ -72,6 +72,7 @@ return o << time_string; } + void toPtime(ptime& pt, const AbsTime& t) { pt = t.getPrivate(); } @@ -87,4 +88,16 @@ ::Sleep(msecs); } +void outputFormattedNow(std::ostream& o) { + ::time_t rawtime; + ::tm timeinfo; + char time_string[100]; + + ::time( &rawtime ); + ::localtime_s(&timeinfo, &rawtime); + ::strftime(time_string, 100, + "%Y-%m-%d %H:%M:%S", + &timeinfo); + o << time_string << " "; +} }} Modified: qpid/trunk/qpid/cpp/src/qpid/sys/windows/Time.h URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/windows/Time.h?rev=774051&r1=774050&r2=774051&view=diff ============================================================================== --- qpid/trunk/qpid/cpp/src/qpid/sys/windows/Time.h (original) +++ qpid/trunk/qpid/cpp/src/qpid/sys/windows/Time.h Tue May 12 19:50:45 2009 @@ -19,7 +19,7 @@ * */ -#include <boost/date_time/posix_time/posix_time.hpp> +#include <boost/date_time/posix_time/posix_time_types.hpp> namespace qpid { namespace sys { --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:commits-subscr...@qpid.apache.org