diff options
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/ChangeLog | 7 | ||||
-rw-r--r-- | nptl/sysdeps/pthread/aio_misc.h | 2 | ||||
-rw-r--r-- | nptl/sysdeps/pthread/gai_misc.h | 2 |
3 files changed, 9 insertions, 2 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 3029360520..e8774287b6 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,10 @@ +2006-09-05 Jakub Jelinek <jakub@redhat.com> + Ulrich Drepper <drepper@redhat.com> + + * sysdeps/pthread/gai_misc.h (GAI_MISC_NOTIFY): Don't decrement + counterp if it is already zero. + * sysdeps/pthread/aio_misc.h (AIO_MISC_NOTIFY): Likewise.. + 2006-03-04 Jakub Jelinek <jakub@redhat.com> Roland McGrath <roland@redhat.com> diff --git a/nptl/sysdeps/pthread/aio_misc.h b/nptl/sysdeps/pthread/aio_misc.h index f285083883..c5a11f4550 100644 --- a/nptl/sysdeps/pthread/aio_misc.h +++ b/nptl/sysdeps/pthread/aio_misc.h @@ -29,7 +29,7 @@ #define AIO_MISC_NOTIFY(waitlist) \ do { \ - if (--*waitlist->counterp == 0) \ + if (*waitlist->counterp > 0 && --*waitlist->counterp == 0) \ lll_futex_wake (waitlist->counterp, 1); \ } while (0) diff --git a/nptl/sysdeps/pthread/gai_misc.h b/nptl/sysdeps/pthread/gai_misc.h index 1dc351a2de..9f6a73dad1 100644 --- a/nptl/sysdeps/pthread/gai_misc.h +++ b/nptl/sysdeps/pthread/gai_misc.h @@ -30,7 +30,7 @@ #define GAI_MISC_NOTIFY(waitlist) \ do { \ - if (--*waitlist->counterp == 0) \ + if (*waitlist->counterp > 0 && --*waitlist->counterp == 0) \ lll_futex_wake (waitlist->counterp, 1); \ } while (0) |