[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: FreeBSD and threads was Re: compile 0.24.2 errors

From: Greg Hudson <ghudson_at_MIT.EDU>
Date: 2003-06-22 18:17:10 CEST

(Sorry for the off-topic continuation here. Feel free to forward this
to a relevant Apache list.)

On Sat, 2003-06-21 at 21:26, Justin Erenkrantz wrote:
> To the best of our knowledge, we've isolated it to problems in the pthread
> condition variables used with libc_r. We've heard reports from some FreeBSD
> kernel developers that some later versions of FreeBSD (i.e. next major release
> after 5) might have a rewritten libc_r that may address some of these problems.

Interesting.

I found three failures to use condition variables in the httpd source,
one in server/mpm/experimental/leader/leader.c and two in
srclib/apr-util/misc/apr_queue.c. These uses are not properly wrapped
in a while loop checking the condition, so a spurious wakeup (which is
allowed by the POSIX specification) could cause bugs. Perhaps FreeBSD's
condition variable code sometimes generates spurious wakeups, and other
platforms do not.

server/mpm/worker/fdqueue.c's second use is also questionable; it
re-checks its condition once and returns an "interrupted" error code if
the condition is still false. Depending on how callers handle such an
error, that could also cause problems.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Jun 22 18:18:07 2003

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.