All pastes #108959 Raw Edit

Miscellany

public text v1 · immutable
#108959 ·published 2006-07-31 19:38 UTC
rendered paste body
int counter = 0;
Semaphore {cmutex,klappe1,klappe1Ready, klappe2,klappe2Ready}=1;

linke_FR() {
	cmutex.p();
	counter++;
	cmutex.v();

	klappe1.p();
	linke_Klappe_öffnen();	
	klappe1Ready.v();

	cmutex.p();
	counter--;
	cmutex.v();
}

rechte_FR() {
	
	klappe2.p();
	rechte_Klappe_öffnen();	
	klappe2Ready.v();
}

VpAutomat() {
	while(true) {
		cmutex.p();
		if(counter > 0) {
			klappe1.v();
			klappe1Ready.p();
			verpacken();
		}
		else {
			klappe2.v();
			klappe2Ready.v();
			verpacken();
		}
		cmutex.v();
	}
}