Threads regression tests (was: Re: ACE Proactor and libkse)

David Schultz das at FreeBSD.ORG
Tue Jul 15 22:53:03 PDT 2003


On Wed, Jul 16, 2003, David Xu wrote:
> Can you test my libkse patch ?
> http://people.freebsd.org/~davidxu/libpthread_bound.diffs
> If you can test the patch to make sure I don't break signal
> code, then I will commit this patch. 

Is there interest in incrementally building a threads-related
regression test suite in src/tools/regression?  This would mean
less breakage for people who are trying to use KSE/libthr, and an
easy way for threads developers to be somewhat confident that
their changes are correct.  For example, two weeks ago I was
tearing my hair out over a sigwait() problem that caused the
following program to deadlock.  Since I already bothered to
isolate the bug, why not do the last 1% of the work and check in a
test so that it never comes back?  Thoughts?


#include <err.h>
#include <signal.h>
#include <stdlib.h>

int main() {

	sigset_t mask;
	int sig;

	sigemptyset(&mask);
	sigaddset(&mask, SIGALRM);
	if (sigprocmask(SIG_BLOCK, &mask, NULL) < 0)
		err(1, "sigprocmask");

	if (raise(SIGALRM) < 0)
		err(1, "raise");

	if (sigwait(&mask, &sig) < 0)
		err(1, "sigwait");
        
	return (0);
}



More information about the freebsd-threads mailing list