This is the mail archive of the pthreads-win32@sources.redhat.com mailing list for the pthreas-win32 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]

Re: Still having deadlock problems ?


Pietrobon Marcello wrote:
> 
> At the end of  the page http://sources.redhat.com/pthreads-win32/
> there is a link to an important article of  Johnson M. Hart with title
> "Experiments with the Open Source Pthreads Library and Some Comments"
> (http://world.std.com/~jmhart/opensource.htm).
> 
> In the middle of that article he talks really well about Open Source POSIX
> Threads for Win32, but he also says:
> "Furthermore, the Open Source code contains at least one comment about a
> possible deadlock; this comment is not very reassuring."
> 
> What is talking about. Is still that problem existing ?

I think he's refering to a comment in mutex.c in the function
pthread_mutex_destroy():

          /*
           * FIXME!!!
           * The mutex isn't held by another thread but we could still
           * be too late invalidating the mutex below since another
thread
           * may already have entered mutex_lock and the check for a
valid
           * *mutex != NULL.
           */

NULL is used to indicate an invalid mutex. It still exists,
probably because to fix it would slow mutexes down with
extra checking.

This is the only known race condition in the code, and many
keen eyes have looked through it. If there were others
they would have been commented too.

> It is very important to me to be able to trust completely Pthread-Win32, so
> I cannot use it if I don't know when this problem appears.

To the extent that you can trust any library completely, you
can trust pthreads-win32 to do an excellent job.

Having said that, please check the Conformance section
of the ANNOUNCE file before you make your final decision.

If you decide to use it, there will be a new snapshot
out soon with a few bug fixes and enhancements. You can
grab the very latest development sources from the CVS
repository by following the instructions on the
pthreads-win32 web page.

Ross


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