Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as Plain Text by lskdlsd ( 13 years ago )
if (m==ENTRAA_HOMBRE){
if (EmptyFifoQueue(bano)) {
tiempoBano=nGetTime();
PutObj(bano,t);
nReply(t, 0);
nPrintf("el baño esta vacio pasan hombres \n");
ocupa= HAY_HOMBRE;
}else{
if (ocupa==HAY_HOMBRE && (nGetTime()- tiempoBano) <= 5){
PutObj(bano,t);
nReply(t, 0);
nPrintf("el baño esta ocupado por hombres y queda tiempo, pasan hombres\n");
}
else{
nPrintf("el baño esta ocupado por hombres, pero no queda tiempo, pasan hombres a la fila \n");
PutObj(filaHombres,t);
}
}
}else{
if (m==ENTRAA_MUJER){
if (EmptyFifoQueue(filaMujeres)){
tiempoBano=nGetTime();
PutObj(bano,t);
nReply(t, 0);
ocupa= HAY_MUJER;
}
else{
if (ocupa==HAY_MUJER && (nGetTime()-tiempoBano)<=5){
PutObj(filaHombres,t);
}else {
PutObj(bano,t);
nReply(t, 0);
}
}
}else{
if(m==SALEE_HOMBRE){
nTask t2 = (nTask) GetObj(bano);/*Se saca una Mujer del Baño*/
nReply(t2,0);/*Se Responde a la Tarea que mando el mensaje */
if(EmptyFifoQueue(bano)){
if(EmptyFifoQueue(filaHombres)){/*Si no Hay Hombres Esperando*/
if(EmptyFifoQueue(filaMujeres)){ /*Si no hay Hombres ni Mujeres Esperando*/
ocupa == 0;
}else{/*Si no Hay Hombres Esperando pero si Mujeres*/
nTask t2 = (nTask) GetObj(filaMujeres);
PutObj(bano,t2);
tiempoBano = nGetTime();
nReply(t2,0);
}
}else{/*Si hay Hombres esperando*/
nTask t2 = (nTask) GetObj(filaHombres);
PutObj(bano,t2);
tiempoBano = nGetTime();
nReply(t2,0);
ocupa = HAY_HOMBRE;
}
}
}
if(m==SALEE_MUJER){
nTask t2 = (nTask) GetObj(bano);/*Se saca una Mujer del Baño*/
nReply(t2,0);/*Se Responde a la Tarea que mando el mensaje */
if(EmptyFifoQueue(bano)){
if(EmptyFifoQueue(filaMujeres)){/*Si no Hay Hombres Esperando*/
if(EmptyFifoQueue(filaHombres)){ /*Si no hay Hombres ni Mujeres Esperando*/
ocupa == 0;
}else{/*Si no Hay Hombres Esperando pero si Mujeres*/
nTask t2 = (nTask) GetObj(filaHombres);
PutObj(bano,t2);
tiempoBano = nGetTime();
nReply(t2,0);
}
}else{/*Si hay Hombres esperando*/
nTask t2 = (nTask) GetObj(filaMujeres);
PutObj(bano,t2);
tiempoBano = nGetTime();
nReply(t2,0);
ocupa = HAY_MUJER;
}
}
}
}
}
Revise this Paste
Children: 64630