diff options
author | rpj <rpj> | 2001-07-08 16:44:06 +0000 |
---|---|---|
committer | rpj <rpj> | 2001-07-08 16:44:06 +0000 |
commit | f58aab44e671bb39b8afb29804a9ca94c238c523 (patch) | |
tree | d1bac0558d5146c6468f8f421f22762f382c6c6e /Nmakefile.tests | |
parent | 704925281289e0f937eab045bd327b4275b2e03a (diff) |
Barriers fixed and tested more extensively.
* barrier.c: Fix several bugs in all routines. Now passes
tests/barrier5.c which is fairly rigorous. There is still
a non-optimal work-around for a race condition between
the barrier breeched event signal and event wait. Basically
the last (signalling) thread to hit the barrier yields
to allow any other threads, which may have lost the race,
to complete.
tests/ChangeLog:
* barrier3.c: Fixed.
* barrier4.c: Fixed.
* barrier5.c: New; proves that all threads in the group
reaching the barrier wait and then resume together. Repeats
the test using groups of 1 to 16 threads. Each group of
threads must negotiate a large number of barriers (10000).
* spin4.c: Fixed.
* test.h (error_string): Modified the success (0) value.
Diffstat (limited to 'Nmakefile.tests')
-rw-r--r-- | Nmakefile.tests | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Nmakefile.tests b/Nmakefile.tests index 8e124ab..109a995 100644 --- a/Nmakefile.tests +++ b/Nmakefile.tests @@ -79,6 +79,15 @@ cleanup3:: cleanup3.c priority1:: priority1.c
priority2:: priority2.c
inherit1:: inherit1.c
+spin1:: spin1.c
+spin2:: spin2.c
+spin3:: spin3.c
+spin4:: spin4.c
+barrier1:: barrier1.c
+barrier2:: barrier2.c
+barrier3:: barrier3.c
+barrier4:: barrier4.c
+barrier5:: barrier5.c
exception1:: exception1.c
exception2:: exception2.c
exception3:: exception3.c
@@ -139,6 +148,15 @@ cleanup3 :test: cleanup2 priority1 :test: join1
priority2 :test: priority1
inherit1 :test: join1
+spin1 :test:
+spin2 :test: spin1.c
+spin3 :test: spin2.c
+spin4 :test: spin3.c
+barrier1 :test:
+barrier2 :test: barrier1.c
+barrier3 :test: barrier2.c
+barrier4 :test: barrier3.c
+barrier5 :test: barrier4.c
benchtest1 :test: mutex3
benchtest2 :test: benchtest1
benchtest3 :test: benchtest2
|