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