[vlc-devel] [PATCH] android: remove useless semaphore
Thomas Guillem
thomas at gllm.fr
Thu Feb 20 09:53:32 CET 2020
Looks good to me.
Why was there semaphore in the first place ? For cancellation support ?
On Wed, Feb 19, 2020, at 18:29, RĂ©mi Denis-Courmont wrote:
> pthread_join() already takes care of waiting for the joined thread to
> terminate.
> ---
> src/android/thread.c | 19 +------------------
> 1 file changed, 1 insertion(+), 18 deletions(-)
>
> diff --git a/src/android/thread.c b/src/android/thread.c
> index da128a769c..780183456d 100644
> --- a/src/android/thread.c
> +++ b/src/android/thread.c
> @@ -133,7 +133,6 @@ void vlc_once(vlc_once_t *once, void (*cb)(void))
> struct vlc_thread
> {
> pthread_t thread;
> - vlc_sem_t finished;
>
> void *(*entry)(void*);
> void *data;
> @@ -183,25 +182,13 @@ static void *detached_thread(void *data)
> return NULL;
> }
>
> -static void finish_joinable_thread(void *data)
> -{
> - vlc_thread_t th = data;
> -
> - vlc_sem_post(&th->finished);
> -}
> -
> static void *joinable_thread(void *data)
> {
> vlc_thread_t th = data;
> void *ret;
>
> - vlc_cleanup_push(finish_joinable_thread, th);
> thread = th;
> - ret = th->entry(th->data);
> - vlc_cleanup_pop();
> - vlc_sem_post(&th->finished);
> -
> - return ret;
> + return th->entry(th->data);
> }
>
> static int vlc_clone_attr (vlc_thread_t *th, void *(*entry) (void *),
> @@ -226,8 +213,6 @@ static int vlc_clone_attr (vlc_thread_t *th, void
> *(*entry) (void *),
> pthread_sigmask (SIG_BLOCK, &set, &oldset);
> }
>
> - if (!detach)
> - vlc_sem_init(&thread->finished, 0);
> atomic_store(&thread->killed, false);
> thread->killable = true;
> thread->entry = entry;
> @@ -258,8 +243,6 @@ int vlc_clone (vlc_thread_t *th, void *(*entry)
> (void *), void *data,
>
> void vlc_join (vlc_thread_t handle, void **result)
> {
> - vlc_sem_wait (&handle->finished);
> -
> int val = pthread_join (handle->thread, result);
> VLC_THREAD_ASSERT ("joining thread");
> clean_detached_thread(handle);
> --
> 2.25.0
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list