Synchronizing Attributes


Problem

	Thread 1		Thread 2		Thread 3
      High Priority	      Med Priority	      Low Priority
	 sleep()		 sleep()
						      P_M_L(mutex);
							......
       (Wakes up)
      P_M_L(mutex);
							......
			       (Wakes up)
				while(1);



Priority Mutexes

int pthread_mutexattr_setprotocol(pthread_mutex_attr *attr, int protocol);

int pthread_mutexattr_getprotocol(pthread_mutex_attr *attr, int * protocol);
PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT


PTHREAD_PRIO_INHERIT


PTHREAD_PRIO_PROTECT

int pthread_mutexattr_setprioceiling(pthread_mutex_attr *attr, int prio);

int pthread_mutexattr_getprioceiling(pthread_mutex_attr *attr, int * prio);


[TOP] [BACK] [FORWARD]


Prepared by Chris Provenzano (proven@mit.edu)