int counter = 0; Semaphore cmutex=1, klappe1=1, klappe2=1; linke_FR() { cmutex.p(); counter++; cmutex.v(); klappe1.p(); cmutex.p(); counter--; cmutex.v(); } rechte_FR() { klappe2.p(); } verpacken() { while(true) { cmutex.p(); if(counter > 0) klappe1.v(); else klappe2.v(); cmutex.v(); } }