From owner-svn-src-head@freebsd.org Sat Jun 25 17:43:21 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EB958B814D9; Sat, 25 Jun 2016 17:43:21 +0000 (UTC) (envelope-from fidaj@ukr.net) Received: from frv157.fwdcdn.com (frv157.fwdcdn.com [212.42.77.157]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ADA5D1DC9; Sat, 25 Jun 2016 17:43:21 +0000 (UTC) (envelope-from fidaj@ukr.net) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ukr.net; s=fsm; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date; bh=IT5rcQLE7hgKyZnCAqJtt8U6JHe1r8mAlqCXQ2pV2xo=; b=ZqWkAaDqrcOw2rMgqR/qnLrcNpAYrL1Wp39Nme0xRkMiPKBJwbRKSEcbKD0s1bs3asImR/uB4t4KOsA2cvYF8NS9Si0riXgsumdflKoOCwA9xbI2ZnZPnTP2SvUhALL7MIuDlobbowXmjHXxZwfJPFWzOhUBRv/VJPl8rqfp3bg=; Received: from [37.229.193.176] (helo=nonamehost.local) by frv157.fwdcdn.com with esmtpsa ID 1bGrbx-000FWL-Tw ; Sat, 25 Jun 2016 20:43:17 +0300 Date: Sat, 25 Jun 2016 20:43:17 +0300 From: Ivan Klymenko To: Konstantin Belousov Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r302194 - head/lib/libthr/thread Message-ID: <20160625204317.0aae5c98@nonamehost.local> In-Reply-To: <20160625161615.GD38613@kib.kiev.ua> References: <201606251130.u5PBUeGC001988@repo.freebsd.org> <20160625164403.70684b3b@nonamehost.local> <20160625135508.GV38613@kib.kiev.ua> <20160625170406.77c79b2e@nonamehost.local> <20160625140529.GW38613@kib.kiev.ua> <20160625171800.50a43746@nonamehost.local> <20160625142915.GX38613@kib.kiev.ua> <20160625175503.7c57d42b@nonamehost.local> <20160625152006.GA38613@kib.kiev.ua> <20160625190346.19a1ef0d@nonamehost.local> <20160625161615.GD38613@kib.kiev.ua> X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.29; amd64-portbld-freebsd11.0) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Authentication-Result: IP=37.229.193.176; mail.from=fidaj@ukr.net; dkim=pass; header.d=ukr.net X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Jun 2016 17:43:22 -0000 On Sat, 25 Jun 2016 19:16:15 +0300 Konstantin Belousov wrote: > On Sat, Jun 25, 2016 at 07:03:46PM +0300, Ivan Klymenko wrote: > > On Sat, 25 Jun 2016 18:20:06 +0300 > > Konstantin Belousov wrote: > > > diff --git a/lib/libthr/thread/thr_mutex.c > > > b/lib/libthr/thread/thr_mutex.c index 2ad05ca..1ae75fb 100644 > > > --- a/lib/libthr/thread/thr_mutex.c > > > +++ b/lib/libthr/thread/thr_mutex.c > > > @@ -850,10 +871,10 @@ mutex_self_trylock(struct pthread_mutex *m) > > > > > > switch (PMUTEX_TYPE(m->m_flags)) { > > > case PTHREAD_MUTEX_ERRORCHECK: > > > - case PTHREAD_MUTEX_ADAPTIVE_NP: > > > ret = EDEADLK; > > > break; > > > > > > + case PTHREAD_MUTEX_ADAPTIVE_NP: > > > case PTHREAD_MUTEX_NORMAL: > > > ret = EBUSY; > > > break; > > > > Strange, it's not helped http://pastebin.com/jbzP0JW2 > > Are you sure that the new libthr was installed ? Compile and run the > following test, please, and show me the results. On the patched > libthr, the program must not output anything and exits with error > code 0. > > /* $Id: pthread_errrecurse.c,v 1.1 2016/06/25 16:12:41 kostik Exp > kostik $ */ > > #include > #include > #include > > int > main(void) > { > pthread_mutex_t m; > pthread_mutexattr_t ma; > int error; > > error = pthread_mutexattr_init(&ma); > if (error != 0) > err(1, "mutexattr_init"); > error = pthread_mutexattr_settype(&ma, > PTHREAD_MUTEX_ADAPTIVE_NP); if (error != 0) > err(1, "mutexattr_settype"); > error = pthread_mutex_init(&m, &ma); > if (error != 0) > err(1, "mutex_init"); > error = pthread_mutex_trylock(&m); > if (error != 0) > err(1, "mutex_trylock 1"); > error = pthread_mutex_trylock(&m); > if (error != EBUSY) > err(1, "mutex_trylock 2"); > else if (error == 0) > errx(1, "mutex_trylock 2 succeeded"); > return (0); > } > ./thr_mutex_test thr_mutex_test: mutex_trylock 2: No error: 0