diff --git a/kern/test/synchprobs.c b/kern/test/synchprobs.c index c1fc4db..1b5eaeb 100644 --- a/kern/test/synchprobs.c +++ b/kern/test/synchprobs.c @@ -77,10 +77,14 @@ male_wrapper(void * unused1, unsigned long unused2) { } void male_start(void) { + random_yielder(PROBLEMS_MAX_YIELDER); + random_spinner(PROBLEMS_MAX_SPINNER); tkprintf("%s starting\n", curthread->t_name); } void male_end(void) { + random_yielder(PROBLEMS_MAX_YIELDER); + random_spinner(PROBLEMS_MAX_SPINNER); tkprintf("%s ending\n", curthread->t_name); } @@ -106,10 +110,14 @@ female_wrapper(void * unused1, unsigned long unused2) { } void female_start(void) { + 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); } @@ -135,10 +143,14 @@ matchmaker_wrapper(void * unused1, unsigned long unused2) { } void matchmaker_start(void) { + random_yielder(PROBLEMS_MAX_YIELDER); + random_spinner(PROBLEMS_MAX_SPINNER); tkprintf("%s starting\n", curthread->t_name); } void matchmaker_end(void) { + random_yielder(PROBLEMS_MAX_YIELDER); + random_spinner(PROBLEMS_MAX_SPINNER); tkprintf("%s ending\n", curthread->t_name); } @@ -255,11 +267,15 @@ turnleft_wrapper(void *unused, unsigned long direction) void inQuadrant(int quadrant) { + random_yielder(PROBLEMS_MAX_YIELDER); + random_spinner(PROBLEMS_MAX_SPINNER); tkprintf("%s in quadrant %d\n", curthread->t_name, quadrant); } void leaveIntersection() { + random_yielder(PROBLEMS_MAX_YIELDER); + random_spinner(PROBLEMS_MAX_SPINNER); tkprintf("%s left the intersection\n", curthread->t_name); }