Re: [patch] Re: dlopen() and dlclose() are not MT-safe?
- From: joerg@xxxxxxxxxxxxxxxxx
- Date: Thu, 23 Mar 2006 13:07:49 +0100
On Thu, Mar 23, 2006 at 12:54:40PM +0200, Kostik Belousov wrote:
On Thu, Mar 23, 2006 at 05:57:24AM +0900, Kazuaki Oda wrote:
BTW do you know the reason why lock is released before callingThe reasoning behind releasing the lock is to allow calls to dl*()
objlist_call_fini()? If we don't release the lock, what problem will
occur? deadlock?
functions from constructors/destructors. This is common practice
and shall be supported. Yes, leaving the lock taken will lead to
deadlock.
Even worse, e.g. access to Thread Locale Storage or possible even lazily
resolved symbols can result in such calls, making it completely
unpredictable.
Please, try the following patch and report results. I can run (modified *)
version of your test for some time without crash with both libpthread
and libthr.
I don't like this patch, give me some time to think of a better
solution.
Joerg
_______________________________________________
freebsd-hackers@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@xxxxxxxxxxx"
- References:
- dlopen() and dlclose() are not MT-safe?
- From: Kazuaki Oda
- Re: dlopen() and dlclose() are not MT-safe?
- From: Kostik Belousov
- Re: dlopen() and dlclose() are not MT-safe?
- From: Kostik Belousov
- Re: dlopen() and dlclose() are not MT-safe?
- From: Kazuaki Oda
- [patch] Re: dlopen() and dlclose() are not MT-safe?
- From: Kostik Belousov
- dlopen() and dlclose() are not MT-safe?
- Prev by Date: [patch] Re: dlopen() and dlclose() are not MT-safe?
- Next by Date: Re: [patch] Re: dlopen() and dlclose() are not MT-safe?
- Previous by thread: [patch] Re: dlopen() and dlclose() are not MT-safe?
- Next by thread: Re: [patch] Re: dlopen() and dlclose() are not MT-safe?
- Index(es):
Relevant Pages
- Re: [patch] Real-Time Preemption, -RT-2.6.10-rc1-mm3-V0.7.18
... I got the attached deadlock report. ... Nov 8 04:19:32 eran kernel: PREEMPT
... Nov 8 04:19:32 eran kernel: kjournald:1445 BUG: lock held at task exit time!
... (Linux-Kernel) - Re: deadlock when reading most currently inserted records
... Our solution is to use ROWLOCK hints on all INSERT, UPDATE, and DELETE ... >
select obtaining a shared lock, then the insert obtaining an IX lock at ... Printing
deadlock information ... > SPID: 53, ECID: 0, Not Blocking ... (microsoft.public.sqlserver.programming) - Re: [RFC, PATCH] locks: remove posix deadlock detection
... Thread A of task B takes lock 1 ... We currently declare deadlock at
this point (unless the deadlock detection ... locked region is put to sleep by attempting
to lock another ... (Linux-Kernel) - [lock validator] drivers/net/8139too.c: deadlock?
... the lock validator i'm working on found the following scenario in the ... [BUG:
circular locking deadlock detected! ... dependency chain is quite complex, ...
explanation of the validator output: the above dependency chain does not ... (Linux-Kernel) - Re: How to update multiple rows atomically
... I don't want to lock just one up, ... be subject to deadlock or starvation?
... Whether it might experience deadlock or starvation or any other concurrency problem
will depend on what concurrency mechanisms the dbms implements, which concurrency options the dba and
various users choose, and how the dbms implements them. ... (comp.databases.theory)