From 183a162e6cd6994ced89197bcf71d132980362c7 Mon Sep 17 00:00:00 2001 From: Geoffrey Challen Date: Thu, 31 Dec 2015 20:08:53 -0500 Subject: [PATCH] Done for now. Testing yield before exit. --- kern/test/synchprobs.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/kern/test/synchprobs.c b/kern/test/synchprobs.c index f6e99ff..5d5fd20 100644 --- a/kern/test/synchprobs.c +++ b/kern/test/synchprobs.c @@ -83,6 +83,8 @@ male_start(void) { } void male_end(void) { + random_yielder(PROBLEMS_MAX_YIELDER); + random_spinner(PROBLEMS_MAX_SPINNER); tkprintf("%s ending\n", curthread->t_name); } @@ -108,12 +110,14 @@ female_wrapper(void * unused1, unsigned long unused2) { } void female_start(void) { - random_spinner(PROBLEMS_MAX_SPINNER); random_yielder(PROBLEMS_MAX_YIELDER); + random_spinner(PROBLEMS_MAX_SPINNER); tkprintf("%s starting\n", curthread->t_name); } void female_end(void) { + random_yielder(PROBLEMS_MAX_YIELDER); + random_spinner(PROBLEMS_MAX_SPINNER); tkprintf("%s ending\n", curthread->t_name); } @@ -145,6 +149,8 @@ matchmaker_start(void) { } void matchmaker_end(void) { + random_yielder(PROBLEMS_MAX_YIELDER); + random_spinner(PROBLEMS_MAX_SPINNER); tkprintf("%s ending\n", curthread->t_name); } @@ -268,6 +274,8 @@ inQuadrant(int quadrant) { void leaveIntersection() { + random_spinner(PROBLEMS_MAX_SPINNER); + random_yielder(PROBLEMS_MAX_YIELDER); tkprintf("%s left the intersection\n", curthread->t_name); }