Date: Mon, 6 Jul 2009 09:31:04 +0000 (UTC) From: Attilio Rao <attilio@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/lib/libthr/thread thr_rtld.c thr_rwlock.c Message-ID: <200907060931.n669VECl029423@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
attilio 2009-07-06 09:31:04 UTC
FreeBSD src repository
Modified files:
lib/libthr/thread thr_rtld.c thr_rwlock.c
Log:
SVN rev 195403 on 2009-07-06 09:31:04Z by attilio
In the current code, rdlock_count is not correctly handled for some cases.
The most notable is that it is not bumped in rwlock_rdlock_common() when
the hard path (__thr_rwlock_rdlock()) returns successfully.
This can lead to deadlocks in libthr when rwlocks recursion in read mode
happens.
Fix the interested parts by correctly handling rdlock_count.
PR: threads/136345
Reported by: rink
Tested by: rink
Reviewed by: jeff
Approved by: re (kib)
MFC: 2 weeks
Revision Changes Path
1.12 +2 -0 src/lib/libthr/thread/thr_rtld.c
1.16 +2 -1 src/lib/libthr/thread/thr_rwlock.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907060931.n669VECl029423>
