This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug nptl/18109] PI futexes can also have FUTEX_OWNER_DIED set


https://sourceware.org/bugzilla/show_bug.cgi?id=18109

Torvald Riegel <triegel at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |triegel at redhat dot com
         Resolution|---                         |DUPLICATE

--- Comment #1 from Torvald Riegel <triegel at redhat dot com> ---
In the test case, a thread that has acquired a non-robust mutex terminates. 
glibc currently assumes that what happens in such a case is undefined behavior;
thus, both not being able to acquire the mutex (e.g., as in main() in the test
case) as well as glibc-internal inconsistencies (ie, the assertion that fails)
are not a bug.

POSIX seems to want the mutex to remain acquired by some imaginary thread
(because the thread that had acquired it does not exist anymore, arguably), but
they do not seem to have considered the implementation complexity this would
result in and the potential runtime overheads.

This difference between current glibc and POSIX is tracked in Bug 17463.  I
think glibc will continue to treat this as undefined behavior, which is why I'm
marking this bug as a duplicate of Bug 17463.

*** This bug has been marked as a duplicate of bug 17463 ***

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]