You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
if(unlink(fifopath)==-1){perror("Error destroying public fifo:");}
o fifo é apagado mas o file descriptor ainda existe (pelas palavras do jpdias) e isso faz com que o cliente não consiga escrever mais para o fifo mas o server consegue ler os pedidos que lá estavam.
No programa Q2 vamos ter de mudar:
// while loop to check running timewhile(elapsedTime() < (double) nsecs){
// while loop to check public fifoif(read(fd_pub,&clientRequest,BUFSIZE)<=0){ continue;}
// create thread with contents of public fifoif(pthread_create(&tid, NULL, thread_func, &clientRequest)!=0){perror("Server-pthread_Create");}
if(pthread_detach(tid)!=0){perror("Server-pthread_detach");}
}
// closing sequenceif(pthread_mutex_lock(&mut2)!=0){perror("Server-MutexLock");}
closed.x=1;
if(pthread_mutex_unlock(&mut2)!=0){perror("Server-MutexUnLock");}
floatstarttime;
intreadreturn;
// notifies client threads that server is closedstarttime=elapsedTime();
do{
readreturn=read(fd_pub, &clientRequest, BUFSIZE);
} while (readreturn==0&&elapsedTime() -starttime<MSATTEMPT);
if (readreturn>0){
if(pthread_create(&tid, NULL, thread_func, &clientRequest)!=0){perror("Server-pthread_Create");}
if(pthread_detach(tid)!=0){perror("Server-pthread_detach");}
}
// cleanupif(close(fd_pub)==-1){perror("Server-closePublicFifo");}
if(unlink(fifopath)==-1){perror("Error destroying public fifo:");}
pthread_exit((void*)0);
Para que após o ciclo while de atender pedidos seja dado unlink e tenha m ciclo igual para dar 2LATE a todos os pedidos que ainda estão no fifo
The text was updated successfully, but these errors were encountered:
Ao dar
o fifo é apagado mas o file descriptor ainda existe (pelas palavras do jpdias) e isso faz com que o cliente não consiga escrever mais para o fifo mas o server consegue ler os pedidos que lá estavam.
No programa Q2 vamos ter de mudar:
Para que após o ciclo while de atender pedidos seja dado unlink e tenha m ciclo igual para dar 2LATE a todos os pedidos que ainda estão no fifo
The text was updated successfully, but these errors were encountered: