From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp48.i.mail.ru (smtp48.i.mail.ru [94.100.177.108]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id C4F524696C3 for ; Thu, 23 Apr 2020 12:10:26 +0300 (MSK) References: <41a1decbbad25ee4b080052e64f65d1c4206c426.1587490798.git.lvasiliev@tarantool.org> <20200422142046.GA3072@uranus> <1ba0a66e-e252-99d7-5eb9-b5d5fbe8f95e@tarantool.org> <20200422153606.GB3072@uranus> From: lvasiliev Message-ID: <77367e87-823f-7ff1-851e-d36043ca799a@tarantool.org> Date: Thu, 23 Apr 2020 12:10:25 +0300 MIME-Version: 1.0 In-Reply-To: <20200422153606.GB3072@uranus> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [Tarantool-patches] [PATCH] Add a check whether glibc is used List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Cyrill Gorcunov Cc: tarantool-patches@dev.tarantool.org Hi! Thanks for the feedback. On 22.04.2020 18:36, Cyrill Gorcunov wrote: > On Wed, Apr 22, 2020 at 05:52:18PM +0300, lvasiliev wrote: >> Comment from code of cbus_hang test: >> " We want to cancel canceled thread in the moment of cpipe_flush_cb >> will be processing. >> A Linux specific dirty hack will be used for reproduce the bug. >> We need to synchronize the main thread and the canceled worker thread. >> So, do it using the endpoint's mutex internal field(__data.__lock)." >> "A Linux specific" - a glibc specific. > > Aha! So it is test's specific. Pleas add this into changelog itself. > Reviewed-by: Cyrill Gorcunov > Updated log message: commit 3e21641638075fe0b8ad909a6a3ce0b064695906 Author: Leonid Vasiliev Date: Tue Apr 21 19:16:17 2020 +0300 Add a check whether glibc is used The cbus hang test uses glibc pthread mutex implementation details. The reason why mutex implementation details is used: "For the bug reproducing the canceled thread must be canceled during processing cpipe_flush_cb. We need to synchronize the main thread and the canceled worker thread for that. So, thread synchronization has been realized by means of endpoint's mutex internal field(__data.__lock)." Therefore, it should not compile in case of using another library.