diff options
Diffstat (limited to 'src/Async.cc')
-rw-r--r-- | src/Async.cc | 6 |
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(); } |