[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.


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.