PKUOS - Pintos
Pintos source browser for PKU Operating System course
Functions | Variables
priority-donate-multiple.c File Reference
#include <stdio.h>
#include "tests/threads/tests.h"
#include "threads/init.h"
#include "threads/synch.h"
#include "threads/thread.h"
Include dependency graph for priority-donate-multiple.c:

Go to the source code of this file.

Functions

void test_priority_donate_multiple (void)
 
static void a_thread_func (void *lock_)
 
static void b_thread_func (void *lock_)
 

Variables

static thread_func a_thread_func
 The main thread acquires locks A and B, then it creates two higher-priority threads. More...
 
static thread_func b_thread_func
 

Function Documentation

◆ a_thread_func()

static void a_thread_func ( void *  lock_)
static

Definition at line 58 of file priority-donate-multiple.c.

References lock_acquire(), lock_release(), and msg().

Here is the call graph for this function:

◆ b_thread_func()

static void b_thread_func ( void *  lock_)
static

Definition at line 69 of file priority-donate-multiple.c.

References lock_acquire(), lock_release(), and msg().

Here is the call graph for this function:

◆ test_priority_donate_multiple()

void test_priority_donate_multiple ( void  )

Definition at line 22 of file priority-donate-multiple.c.

Variable Documentation

◆ a_thread_func

thread_func a_thread_func
static

The main thread acquires locks A and B, then it creates two higher-priority threads.

Each of these threads blocks acquiring one of the locks and thus donate their priority to the main thread. The main thread releases the locks in turn and relinquishes its donated priorities.

Based on a test originally submitted for Stanford's CS 140 in winter 1999 by Matt Franklin start.nosp@m.led@.nosp@m.lelan.nosp@m.d.st.nosp@m.anfor.nosp@m.d.ed.nosp@m.u, Greg Hutchins gmh@l.nosp@m.elan.nosp@m.d.sta.nosp@m.nfor.nosp@m.d.edu, Yu Ping Hu yph@c.nosp@m.s.st.nosp@m.anfor.nosp@m.d.ed.nosp@m.u. Modified by arens.

Definition at line 18 of file priority-donate-multiple.c.

◆ b_thread_func

thread_func b_thread_func
static

Definition at line 19 of file priority-donate-multiple.c.