You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by mt...@apache.org on 2009/03/17 10:11:19 UTC

svn commit: r755159 - /qpid/trunk/qpid/cpp/src/qpid/sys/solaris/ECFPoller.cpp

Author: mteira
Date: Tue Mar 17 09:11:17 2009
New Revision: 755159

URL: http://svn.apache.org/viewvc?rev=755159&view=rev
Log:
Fixes to the Solaris ECFPoller: Extra trace logging and a misplaced event

Modified:
    qpid/trunk/qpid/cpp/src/qpid/sys/solaris/ECFPoller.cpp

Modified: qpid/trunk/qpid/cpp/src/qpid/sys/solaris/ECFPoller.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/solaris/ECFPoller.cpp?rev=755159&r1=755158&r2=755159&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/sys/solaris/ECFPoller.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/sys/solaris/ECFPoller.cpp Tue Mar 17 09:11:17 2009
@@ -203,6 +203,7 @@
         portId(::port_create()),
         isShutdown(false) {
         QPID_POSIX_CHECK(portId);
+        QPID_LOG(trace, "port_create returned port Id: " << portId);
     }
 
     ~PollerPrivate() {
@@ -212,6 +213,7 @@
         //Send an Alarm to the port
         //We need to send a nonzero event mask, using POLLHUP,
         //nevertheless the wait method will only look for a PORT_ALERT_SET
+        QPID_LOG(trace, "Sending a port_alert to " << portId);
         QPID_POSIX_CHECK(::port_alert(portId, PORT_ALERT_SET, POLLHUP,
                                       &static_cast<PollerHandle&>(interruptHandle)));        
     }
@@ -342,13 +344,16 @@
 
     do {
         PollerHandleDeletionManager.markAllUnusedInThisThread();
-        QPID_LOG(trace, "About to enter port_get. Thread "
-                 << pthread_self()
+        QPID_LOG(trace, "About to enter port_get on " << impl->portId
+                 << ". Thread " << pthread_self()
                  << ", timeout=" << timeout);
 
 
         int rc = ::port_get(impl->portId, &pe, ptout);
 
+        QPID_LOG(trace, "port_get on " << impl->portId
+                 << " returned " << rc);
+        
         if (impl->isShutdown) {
             PollerHandleDeletionManager.markAllUnusedInThisThread();
             return Event(0, SHUTDOWN);
@@ -369,9 +374,12 @@
             ScopedLock<Mutex> l(eh.lock);
 
             if (eh.isActive()) {
+                QPID_LOG(trace, "Handle is active");
                 //We use alert mode to notify interrupts
                 if (pe.portev_source == PORT_SOURCE_ALERT &&
                     handle == &impl->interruptHandle) {
+                    QPID_LOG(trace, "Interrupt notified");
+                    
                     PollerHandle* wrappedHandle = impl->interruptHandle.getHandle();
 
                     if (impl->interruptHandle.queuedHandles()) {
@@ -383,8 +391,6 @@
                     return Event(wrappedHandle, INTERRUPTED);
                 }
                 
-                return Event(0, SHUTDOWN);            
-
                 if (pe.portev_source == PORT_SOURCE_FD) {
                     QPID_LOG(trace, "About to send handle: " << handle);
                     if (pe.portev_events & POLLHUP) {



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org