[vlc-commits] Revert "background_worker: store the timeout in vlc_tick_t"
Rémi Denis-Courmont
git at videolan.org
Wed Sep 19 05:18:37 CEST 2018
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Wed Sep 19 06:15:57 2018 +0300| [7dfdce94e9c3dfb4979d61a33d95ac65630fcf22] | committer: Rémi Denis-Courmont
Revert "background_worker: store the timeout in vlc_tick_t"
This reverts commit 703ffde2cdbac363021499c6778b38888a0d0101.
This broke the testsuite.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=7dfdce94e9c3dfb4979d61a33d95ac65630fcf22
---
src/misc/background_worker.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/misc/background_worker.c b/src/misc/background_worker.c
index be8f61888a..822da04cb5 100644
--- a/src/misc/background_worker.c
+++ b/src/misc/background_worker.c
@@ -33,7 +33,7 @@ struct task {
struct vlc_list node;
void* id; /**< id associated with entity */
void* entity; /**< the entity to process */
- vlc_tick_t timeout; /**< timeout duration in milliseconds */
+ int timeout; /**< timeout duration in milliseconds */
};
struct background_worker;
@@ -73,7 +73,7 @@ static struct task *task_Create(struct background_worker *worker, void *id,
task->id = id;
task->entity = entity;
- task->timeout = timeout < 0 ? worker->conf.default_timeout : VLC_TICK_FROM_MS(timeout);
+ task->timeout = timeout < 0 ? worker->conf.default_timeout : timeout;
worker->conf.pf_hold(task->entity);
return task;
}
@@ -84,17 +84,17 @@ static void task_Destroy(struct background_worker *worker, struct task *task)
free(task);
}
-static struct task *QueueTake(struct background_worker *worker, vlc_tick_t timeout)
+static struct task *QueueTake(struct background_worker *worker, int timeout_ms)
{
vlc_assert_locked(&worker->lock);
- vlc_tick_t deadline = vlc_tick_now() + timeout;
- bool has_timeout = false;
- while (!has_timeout && !worker->closing && vlc_list_is_empty(&worker->queue))
- has_timeout = vlc_cond_timedwait(&worker->queue_wait,
+ vlc_tick_t deadline = vlc_tick_now() + VLC_TICK_FROM_MS(timeout_ms);
+ bool timeout = false;
+ while (!timeout && !worker->closing && vlc_list_is_empty(&worker->queue))
+ timeout = vlc_cond_timedwait(&worker->queue_wait,
&worker->lock, deadline) != 0;
- if (worker->closing || has_timeout)
+ if (worker->closing || timeout)
return NULL;
struct task *task = vlc_list_first_entry_or_null(&worker->queue,
@@ -212,7 +212,7 @@ static void* Thread( void* data )
for (;;)
{
vlc_mutex_lock(&worker->lock);
- struct task *task = QueueTake(worker, VLC_TICK_FROM_SEC(5));
+ struct task *task = QueueTake(worker, 5000);
if (!task)
{
vlc_mutex_unlock(&worker->lock);
More information about the vlc-commits
mailing list