next up previous
Next: Servidor de Impressora: Solução Up: Imposição de Políticas de Previous: Programação de um Servidor

Servidor de Impressora: Solução com Erro

 
void print(file F) {

requestPrinter();

/* impressão de F */

releasePrinter();

}

boolean busy = false; key mutex; bed b;

void requestPrinter() {

lock(mutex);

if (busy) { sleep(b,mutex); }

busy = true;

unlock(mutex);

}

void releasePrinter() {

lock(mutex);

busy = false;

wakeup(b, mutex);

unlock(mutex);

}



Osvaldo Sergio F. de Carvalho
Wed Mar 19 14:56:39 EST 1997