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

Reply via email to