aboutsummaryrefslogtreecommitdiffstats
path: root/src/db
diff options
context:
space:
mode:
Diffstat (limited to 'src/db')
-rw-r--r--src/db/upnp/WorkQueue.hxx42
1 files changed, 0 insertions, 42 deletions
diff --git a/src/db/upnp/WorkQueue.hxx b/src/db/upnp/WorkQueue.hxx
index 89f5528cb..944b0f6ca 100644
--- a/src/db/upnp/WorkQueue.hxx
+++ b/src/db/upnp/WorkQueue.hxx
@@ -154,50 +154,8 @@ public:
return true;
}
- /**
- * Wait until the queue is inactive. Called from client.
- *
- * Waits until the task queue is empty and the workers are all
- * back sleeping. Used by the client to wait for all current work
- * to be completed, when it needs to perform work that couldn't be
- * done in parallel with the worker's tasks, or before shutting
- * down. Work can be resumed after calling this. Note that the
- * only thread which can call it safely is the client just above
- * (which can control the task flow), else there could be
- * tasks in the intermediate queues.
- * To rephrase: there is no warranty on return that the queue is actually
- * idle EXCEPT if the caller knows that no jobs are still being created.
- * It would be possible to transform this into a safe call if some kind
- * of suspend condition was set on the queue by waitIdle(), to be reset by
- * some kind of "resume" call. Not currently the case.
- */
- bool waitIdle()
- {
- const ScopeLock protect(mutex);
-
- if (!IsOK()) {
- LOGERR(("WorkQueue::waitIdle:%s: not ok or can't lock\n",
- name.c_str()));
- return false;
- }
-
- // We're done when the queue is empty AND all workers are back
- // waiting for a task.
- while (IsOK() && (queue.size() > 0 ||
- n_workers_waiting != n_threads)) {
- n_clients_waiting++;
- client_cond.wait(mutex);
- n_clients_waiting--;
- }
-
- return IsOK();
- }
-
/** Tell the workers to exit, and wait for them.
- *
- * Does not bother about tasks possibly remaining on the queue, so
- * should be called after waitIdle() for an orderly shutdown.
*/
void setTerminateAndWait()
{