summaryrefslogtreecommitdiff
path: root/src/Async.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/Async.cc')
-rw-r--r--src/Async.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/Async.cc b/src/Async.cc
index 829c677..18c8ef1 100644
--- a/src/Async.cc
+++ b/src/Async.cc
@@ -28,7 +28,7 @@ void Balau::AsyncManager::queueOp(AsyncOperation * op) {
TLS * tls = getTLS();
Printer::elog(E_ASYNC, "Queuing operation at %p", op);
if (op->needsSynchronousCallback()) {
- Printer::elog(E_ASYNC, "Operation at %p needs synchronous callback, copying values; idleQueue = %p; idleReadyCallback = %p; idleReadyParam = %p", &tls->idleQueue, tls->idleReadyCallback, tls->idleReadyParam);
+ Printer::elog(E_ASYNC, "Operation at %p needs synchronous callback, copying values; idleQueue = %p; idleReadyCallback = %p; idleReadyParam = %p", op, &tls->idleQueue, tls->idleReadyCallback, tls->idleReadyParam);
op->m_idleQueue = &tls->idleQueue;
op->m_idleReadyCallback = tls->idleReadyCallback;
op->m_idleReadyParam = tls->idleReadyParam;
@@ -98,11 +98,13 @@ void * Balau::AsyncManager::proc() {
}
stopAllWorkers();
+ Printer::elog(E_ASYNC, "Async thread waits for all idle queues to empty");
while (Atomic::Prefetch::Decrement(&m_numTLSes)) {
TLS * tls = m_TLSes.pop();
while (!tls->idleQueue.isEmpty());
}
+ Printer::elog(E_ASYNC, "Async thread stopping");
return NULL;
}
@@ -150,7 +152,7 @@ void Balau::AsyncManager::idle() {
while (!m_ready);
AsyncOperation * op;
TLS * tls = getTLS();
- while ((op = tls->idleQueue.pop(false))) {
+ while ((op = tls->idleQueue.pop())) {
Printer::elog(E_ASYNC, "AsyncManager::idle() is wrapping up operation %p", op);
op->done();
}