maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #11445
Re: c45b4a7: MDEV-17200 - pthread_detach called for already detached threads
Hi, Sergey!
ok to push!
On Sep 21, Sergey Vojtovich wrote:
> revision-id: c45b4a774b6d1404a080a1c1759f780fa78f223b (mariadb-10.1.35-65-gc45b4a7)
> parent(s): 82524239c48a2603f115a6117e061751f6427d08
> author: Sergey Vojtovich
> committer: Sergey Vojtovich
> timestamp: 2018-09-21 16:24:23 +0400
> message:
>
> MDEV-17200 - pthread_detach called for already detached threads
>
> pthread_detach_this_thread() was intended to be defined to something
> meaningful only on some ancient unixes, which don't have
> pthread_attr_setdetachstate() defined. Otherwise, on normal unixes,
> threads are created detached in the first place.
>
> This was broken in 0f01bf267680244ec488adaf65a42838756ed48e so that
> we started calling pthread_detach() for already detached threads.
> Intention was to detach aria checkpoint thread.
>
> However in 87007dc2f71634cc460271eb277ad851ec69c04b aria service threads
> were made joinable with appropriate handling, which makes breaking
> revision unneccessary.
>
> Revert remnants of 0f01bf267680244ec488adaf65a42838756ed48e, so that
> pthread_detach_this_thread() is meaningful only on some ancient unixes
> again.
>
> ---
> include/my_pthread.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/my_pthread.h b/include/my_pthread.h
> index 6b830ca..ae2f912 100644
> --- a/include/my_pthread.h
> +++ b/include/my_pthread.h
> @@ -184,7 +184,7 @@ int pthread_cancel(pthread_t thread);
> #define pthread_key(T,V) pthread_key_t V
> #define my_pthread_getspecific_ptr(T,V) my_pthread_getspecific(T,(V))
> #define my_pthread_setspecific_ptr(T,V) pthread_setspecific(T,(void*) (V))
> -#define pthread_detach_this_thread() { pthread_t tmp=pthread_self() ; pthread_detach(tmp); }
> +#define pthread_detach_this_thread()
> #define pthread_handler_t EXTERNC void *
> typedef void *(* pthread_handler)(void *);
>
Regards,
Sergei
Chief Architect MariaDB
and security@xxxxxxxxxxx