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/13690] pthread_mutex_unlock potentially cause invalid access


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

--- Comment #28 from Carlos O'Donell <carlos at redhat dot com> ---
(In reply to Pat from comment #27)
> If you have to wait for all calls to mutex_unlock to return before you can
> destroy the mutex, how are you supposed to guarantee that, exactly?
> 
> You can only do so by synchronizing the threads in some other way. So every
> mutex has to be guarded by another mutex which has to be guarded by another
> mutex...
> 
> ...except for the last mutex, which is global or static or whatever and
> never gets destroyed. Problem solved!
> 
> Seriously, think about the kind of code you would have to write to deal with
> these semantics. Is that what you think POSIX wanted to put people through
> (despite the actual example they give)? Is that what glibc wants to put
> people through?
> 
> You do not need "clarification" from anybody to recognize that these are
> serious bugs. The only interesting question is how many years it's going to
> take.

That may be the case for normal software projects, but this is glibc. We are a
conservative project and we work through a standards process and collaborate
with the Austin Group and the ISO group on POSIX and ISO C. I understand that
this is sometimes frustratingly slow, but it ensures a clarity and quality that
we desire to achieve with the project.

I don't disagree that it seems ridiculous to require such complexity, but we
want to gather consensus from the Austin Group to ensure that we understand all
the implications before we make a change.

-- 
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]