This is the mail archive of the
libc-help@sourceware.org
mailing list for the glibc project.
Re: pthread_cond_wait hangs on pthread_cancel when mutex uses PRIO_INHERIT
- From: "Robert K. Johnson" <rj dot rkjohnson at gmail dot com>
- To: libc-help at sourceware dot org
- Date: Fri, 11 Apr 2014 13:26:45 -0700
- Subject: Re: pthread_cond_wait hangs on pthread_cancel when mutex uses PRIO_INHERIT
- Authentication-results: sourceware.org; auth=none
- References: <CAB6ML5nDgceqySX5ydVnzando2HGdXskaKJpL1PVDwzVYDKMRw at mail dot gmail dot com>
- Reply-to: RJ dot RKJohnson at gmail dot com
I have installed the latest Gentoo package updates for glibc and gcc
on the embedded system. I am now using glibc 2.17 and gcc 4.7.3, but
I still experience the same problem with pthread_cond_wait hanging.
If I change the associated mutex from PTHREAD_PRIO_INHERIT to
PTHREAD_PRIO_NONE it does not hang.
Are there any patches available for either glibc 2.15 or 2.17 that
resolve this issue for a Freescale P2020 (32 bit PowerPC)?
On Wed, Apr 9, 2014 at 9:53 AM, Robert K. Johnson
<rj.rkjohnson@gmail.com> wrote:
> I have seen other entries on this problem and I am aware of the patch
> titled "Fix exception table for i386 pthread_cond_wait". I have the
> same problem described in these other entries where it only hangs when
> PRIO_INHERIT is used with the mutex.
>
> I am working with an embedded system that uses a Freescale P2020
> processor. I am using the Gentoo Linux distribution as provided by
> the SBC vendor. It uses glibc 2.15-r2 with gcc 4.6.3. I need to use
> PRIO_INHERIT because the condition variable is used by several threads
> of different SCHED_RR and SCHED_FIFO priorities.
>
> I am assuming that the i386 does not apply to the Freescale P2020?
>
> Is there a more general patch that fixes this problem for all platforms?
>
> This problem also occurs on an x86_64 system that uses the Ubuntu
> Linux distribution with glibc 2.15 and gcc 4.6.3.