Working towards getting pc_irpc test working on FreeBSD
authorDan McNulty <mcnulty@cs.wisc.edu>
Tue, 20 Jul 2010 18:56:07 +0000 (13:56 -0500)
committerDan McNulty <mcnulty@cs.wisc.edu>
Wed, 21 Jul 2010 17:59:18 +0000 (12:59 -0500)
commitb543f8f447bfa7ab24e3cde54f52c57503dfcef2
tree445b298cea8414739f5f8e6f85eef6ea01f631c5
parent513b3fbb8b2dc81294a7f38627b5fab038de5adf
Working towards getting pc_irpc test working on FreeBSD

This involves misc. changes through out.

Also includes a fix to distinguish SIGTRAPs sent because of
a trap and SIGTRAPs delivered for an unspecified reason.

This commit also includes a rewrite of the pc_thread_cont test.

The original pc_thread_cont continued a thread, one at a time, and
waited for their exit. After continued, each thread (except the initial
thread) would lock and unlock the test init lock and exit.

This implementation caused problems on FreeBSD. When going to continue a
single thread, it will only run if it is first in line to obtain the
test init lock.  So when the test continues a thread and waits for it to
exit, there is no guarantee that the thread will exit before other
threads are continued.

The solution to this problem is to use a lock for each thread in the
mutatee so when a single thread is continued, it is guaranteed to run
and exit before continuing other threads. This solution required a few
handshakes back and forth between the mutatee and mutator to work
correctly. The code will be the best documentation for this.
make.config
proccontrol/src/freebsd.C
proccontrol/src/int_process.h
proccontrol/src/irpc.C
proccontrol/src/process.C
testsuite/src/mutatee_util.h
testsuite/src/mutatee_util_mt.c
testsuite/src/proccontrol/pc_thread_cont.C
testsuite/src/proccontrol/pc_thread_cont_mutatee.c