Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Mar 2006 18:46:00 +0800
From:      David Xu <davidxu@freebsd.org>
To:        freebsd-threads@freebsd.org
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: [patch] Re: dlopen() and dlclose() are not MT-safe? YES, esp. for libthr
Message-ID:  <200603241846.00579.davidxu@freebsd.org>
In-Reply-To: <20060324084834.GE27116@deviant.kiev.zoral.com.ua>
References:  <44215FE9.2070602@highway.ne.jp> <20060323105440.GD27116@deviant.kiev.zoral.com.ua> <20060324084834.GE27116@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
=D4=DA Friday 24 March 2006 16:48=A3=ACKostik Belousov =D0=B4=B5=C0=A3=BA
> I did understand the purpose of the thread mask code in
> libexec/rtld/rtld_lock.c, or, more precisely, the condition where this co=
de
> works (for the context, see the mails with same subject on freebsd-hacker=
s).
>=20
> Look, that code assumes that blocking async signals would stop thread
> scheduler from doing preemption of the current thread. This works
> for libc_r, but fails in libpthread and libthr cases. libpthread provides
> implementation of the locks for rtld. But libthr does not !
>=20
> As result, rtld exhibit races when used with libthr. In other words,
> libthr needs code to do proper locking.
>=20
> Do you agree ? Does somebody already planned to do this work ?
>=20
> Best regards,
> Kostik Belousov
>=20
I will check libthr source code to see if I can fix it at the weekend.

David Xu



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200603241846.00579.davidxu>