From 71c094e85154a222f46a17ad5a642ec4677066ca Mon Sep 17 00:00:00 2001 From: Andre_G Date: Wed, 6 May 2020 11:24:50 +0100 Subject: [PATCH 01/11] ciclo infinito --- src2/Q2 | Bin 0 -> 18176 bytes src2/Q2.c | 23 ++++++++++------------- src2/U2 | Bin 0 -> 18208 bytes 3 files changed, 10 insertions(+), 13 deletions(-) create mode 100755 src2/Q2 create mode 100755 src2/U2 diff --git a/src2/Q2 b/src2/Q2 new file mode 100755 index 0000000000000000000000000000000000000000..f5ccb8c1d58f2bf1258f6bc37e3e09c208dbb627 GIT binary patch literal 18176 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 Wvf8o8j8y*Vi)@V}tf**V`Tqh+6FhkU literal 0 HcmV?d00001 diff --git a/src2/Q2.c b/src2/Q2.c index bf871ec..972c5eb 100644 --- a/src2/Q2.c +++ b/src2/Q2.c @@ -147,26 +147,23 @@ int main(int argc, char* argv[]) { if(pthread_create(&tid, NULL, thread_func, &clientRequest)!=0){perror("Server-pthread_Create");} if(pthread_detach(tid)!=0){perror("Server-pthread_detach");} } - // closing sequence + if(unlink(fifopath)==-1){perror("Error destroying public fifo:");} if(pthread_mutex_lock(&mut2)!=0){perror("Server-MutexLock");} closed.x = 1; if(pthread_mutex_unlock(&mut2)!=0){perror("Server-MutexUnLock");} - float starttime; - int readreturn; - - // notifies client threads that server is closed - starttime = 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");} + //float starttime; + int readreturn = read(fd_pub, &clientRequest, BUFSIZE); + while (readreturn != 0) + { + printf("Dentro de while\n"); + if(readreturn <0 ){perror("Server-read error");} + if(pthread_create(&tid, NULL, thread_func, &clientRequest)!=0){perror("Server-pthread_Create");} + if(pthread_detach(tid)!=0){perror("Server-pthread_detach");} + readreturn = read(fd_pub, &clientRequest, BUFSIZE); } // cleanup if(close(fd_pub)==-1){perror("Server-closePublicFifo");} - if(unlink(fifopath)==-1){perror("Error destroying public fifo:");} pthread_exit((void*)0); } diff --git a/src2/U2 b/src2/U2 new file mode 100755 index 0000000000000000000000000000000000000000..ce72657ad16f0954cc76f6f5c81d28d3beb2c76d GIT binary patch literal 18208 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 UW!=dR?cck>)VRQkil(>!AE;rDy8r+H literal 0 HcmV?d00001 From bf06208e56c4aaee938c75d4c6a2874e9e32e145 Mon Sep 17 00:00:00 2001 From: Andre_G Date: Wed, 6 May 2020 14:59:55 +0100 Subject: [PATCH 02/11] ? --- src2/Q2 | Bin 18176 -> 0 bytes src2/Q2.c | 2 +- src2/U2 | Bin 18208 -> 0 bytes src2/U2.c | 6 +++++- 4 files changed, 6 insertions(+), 2 deletions(-) delete mode 100755 src2/Q2 delete mode 100755 src2/U2 diff --git a/src2/Q2 b/src2/Q2 deleted file mode 100755 index f5ccb8c1d58f2bf1258f6bc37e3e09c208dbb627..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18176 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 Wvf8o8j8y*Vi)@V}tf**V`Tqh+6FhkU diff --git a/src2/Q2.c b/src2/Q2.c index 972c5eb..566fefa 100644 --- a/src2/Q2.c +++ b/src2/Q2.c @@ -47,7 +47,7 @@ void * thread_func(void *arg){ strcat(privateFifo,"."); if(sprintf(temp,"%ld",tid)<0){perror("Server-sprintf");} strcat(privateFifo,temp); - + // open private fifo int fd_priv; /**< private fifo file descriptor */ float startt = elapsedTime(); diff --git a/src2/U2 b/src2/U2 deleted file mode 100755 index ce72657ad16f0954cc76f6f5c81d28d3beb2c76d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18208 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 UW!=dR?cck>)VRQkil(>!AE;rDy8r+H diff --git a/src2/U2.c b/src2/U2.c index 5c562dd..edb6641 100644 --- a/src2/U2.c +++ b/src2/U2.c @@ -48,7 +48,11 @@ void * thread_func(void *arg){ fd_pub = open(fifopath,O_WRONLY); } while (fd_pub==-1 && elapsedTime() - startt < MSATTEMPT); if (fd_pub < 0) { - fprintf(stderr, "%d-%s\n", i, "Client - Error Opening Public Fifo"); + //fprintf(stderr, "%d-%s\n", i, "Client - Error Opening Public Fifo"); + printRegister(time(NULL), i, getpid(), pthread_self(), useTime, -1, CLOSD); + if(pthread_mutex_lock(&mut)!=0){perror("Client-MutexLock");} + serverOpen.x = 0; + if(pthread_mutex_unlock(&mut)!=0){perror("Client-MutexUnLock");} pthread_exit(NULL); } From 14a191f1a1d8c86b3b837fcbb8e2fcefdc442d6e Mon Sep 17 00:00:00 2001 From: Andre_G Date: Wed, 6 May 2020 15:01:31 +0100 Subject: [PATCH 03/11] many CLOSD --- src2/U2.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src2/U2.c b/src2/U2.c index edb6641..c56e67e 100644 --- a/src2/U2.c +++ b/src2/U2.c @@ -49,6 +49,7 @@ void * thread_func(void *arg){ } while (fd_pub==-1 && elapsedTime() - startt < MSATTEMPT); if (fd_pub < 0) { //fprintf(stderr, "%d-%s\n", i, "Client - Error Opening Public Fifo"); + printRegister(time(NULL), i, getpid(), pthread_self(), useTime, -1, CLOSD); if(pthread_mutex_lock(&mut)!=0){perror("Client-MutexLock");} serverOpen.x = 0; From 204a800f1bda1a575ca82122fcac89573f74308c Mon Sep 17 00:00:00 2001 From: Andre_G Date: Wed, 6 May 2020 19:44:39 +0100 Subject: [PATCH 04/11] enunciado --- mp2.pdf | Bin 0 -> 159674 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 mp2.pdf diff --git a/mp2.pdf b/mp2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b2d223d9624abb9b49fe60712f2ac2df99f9cfe1 GIT binary patch literal 159674 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
7kfOOzujzcoYbj9C>y}-C3@S+C=gtG8})zP2jc3 zWY172S|PC_Q`wf*5JZ|H=VGWD2Iw-pRQvZgTb-x#n+}(KaSSO3V|1FWJG1-JV{g&0 zlBcOpC#ZB~+AY6LJ~~<#97j8i3rT{%KfAYPuh^(I2{U5ArX8DmWT_BAaf25K$q2X_ zCQK!g_)gCqL9!;Nj6|=*hs-93#CCI0fbSE#2y_*fhUaqk7Oc~d-PS_O2)dGakF0ni z6w?hJXY7C`YDrp@LdIrtZ*0X6>q%RZ^|7(J0e_tk1JfPSBglbewBK^c2fdB(pkgC^ zUn3-n{&PeWRa8uKPYqj~oDw(F-~>8{Ac5*(kT2JQj^2a9N{hZ9Mw^&En8pew2uN9+ z90Ds|!y%_p&t`VRL=UGnrc6vP6sJ+7c$8lP=(soREssbWlGfF>vlHz>eqVAXea0V+ zxr!ztVk0fwF^VrHPkEwI@5;W6;nq=6#Gkv1&N5VFVUPaqP0}PS+v3TkLOpNLA42YHkc8Mu6N(`*m z%Q~jBzKZzfCow$%ew@y}YY|2&r>m31sfVdVKL@sSvxa##k5h`=G`eD>=&8}MqiWWq z`)gdsMOk<7Io4OxFvpDYZy~PTBSFNgG8AH@6)JF&7`esM5HBC}Y*ZUuV~B%0_6cN( zM7(V2IXV!^Et#aFhLf1R4xBti#uK!5Vd-@+IyG=l5)%!0!5|BZp!NR9#UmhLq4P>Q z=djQ4cNwKva+idhnBOtGl>4p`u9WZ(@w1^6L+LA<&Mx`+(Uq7~*f*?4BKF!ysp*19 zn#`Vtlh9wy91&f5M)!xber14%{|^Q}Bt zIg4tQhe~6~X;KwO9HE4hp!%ASC0oW+0v1(IA+

i-Qc0Uj&KJhz~gXMZ=4%(Vf$Z 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

|EAI-3NiZCu;%OZo^jM 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 literal 0 HcmV?d00001 From f3b32ffbff9bd9b510cdd366210b34b0e758f63c Mon Sep 17 00:00:00 2001 From: Andre_G Date: Thu, 7 May 2020 10:16:08 +0100 Subject: [PATCH 05/11] =?UTF-8?q?S=C3=B3=201=20closd,=20no=202LATE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src2/U2.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src2/U2.c b/src2/U2.c index c56e67e..856c303 100644 --- a/src2/U2.c +++ b/src2/U2.c @@ -44,13 +44,16 @@ void * thread_func(void *arg){ // opening Public fifo to be able to write float startt = elapsedTime(); + int attempt = 0; do{ - fd_pub = open(fifopath,O_WRONLY); - } while (fd_pub==-1 && elapsedTime() - startt < MSATTEMPT); - if (fd_pub < 0) { + fd_pub = open(fifopath,O_WRONLY, O_NONBLOCK); + attempt++; + } while (fd_pub==-1 && attempt < 5); + if (fd_pub == -1) { //fprintf(stderr, "%d-%s\n", i, "Client - Error Opening Public Fifo"); - + if(pthread_mutex_lock(&mut2)!=0){perror("Client-MutexLock");} printRegister(time(NULL), i, getpid(), pthread_self(), useTime, -1, CLOSD); + if(pthread_mutex_unlock(&mut2)!=0){perror("Client-MutexUnLock");} if(pthread_mutex_lock(&mut)!=0){perror("Client-MutexLock");} serverOpen.x = 0; if(pthread_mutex_unlock(&mut)!=0){perror("Client-MutexUnLock");} From f8e8d99e09d6ae0ffba77327374c967c866823e8 Mon Sep 17 00:00:00 2001 From: Andre_G Date: Thu, 7 May 2020 10:54:52 +0100 Subject: [PATCH 06/11] Leitura de argumentos --- run.bash | 2 +- src2/Q2.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 53 insertions(+), 4 deletions(-) diff --git a/run.bash b/run.bash index 405db40..99d6b24 100755 --- a/run.bash +++ b/run.bash @@ -11,7 +11,7 @@ cd .. # $? = 2 otherwise make -s if [ $? -eq 0 ] ; then - ./Q2 -t 5 fifoname & # Un <-t nsecs> fifoname + ./Q2 -t 5 -l 100 -n 400 fifoname & # Un <-t nsecs> fifoname P1=$! ./U2 -t 10 fifoname & # Qn <-t nsecs> [-l nplaces] [-n nthreads] fifoname P2=$! diff --git a/src2/Q2.c b/src2/Q2.c index 566fefa..1e98053 100644 --- a/src2/Q2.c +++ b/src2/Q2.c @@ -107,6 +107,51 @@ void * thread_func(void *arg){ pthread_exit(NULL); } +void argumentsReader(int argc, char* argv[], int *nplaces, int *nthreads, char fifoname[]){ + /* 1 - ler valor de -t + * 2 - ler valor de -l + * 3 - ler valor de -n */ + int flag = 0; + for (int i = 1; i < argc; i++) + { + if (flag == 1) + { + nsecs=atoi(argv[i])*1000; + flag = 0; + continue; + } + else if (flag == 2) + { + *nplaces = atoi(argv[i]); + flag = 0; + continue; + } + else if (flag == 3) + { + *nthreads = atoi(argv[i]); + flag = 0; + continue; + } + else if (strcmp(argv[i], "-t") == 0) + { + flag = 1; + continue; + } + else if (strcmp(argv[i], "-l") == 0) + { + flag = 2; + continue; + } + else if (strcmp(argv[i], "-n") == 0) + { + flag = 3; + continue; + } + else + strcpy(fifoname,argv[i]); + } +} + int main(int argc, char* argv[]) { char fifoname[BUFSIZE]; /**< public fifo file name */ char fifopath[BUFSIZE]="/tmp/"; /**< public fifo path */ @@ -114,19 +159,22 @@ int main(int argc, char* argv[]) { pthread_t tid; /**< array to store thread id's */ closed.x=0; /**< 1-server closed | 0-server open */ + int nplaces=0; + int nthreads=0; + // initialize available places at 0 for (int i = 0; i < 4; i++) places[i] = 0; // check arguments - if (argc!=4) { + if (argc!=4 && argc!=6 && argc!=8){ printf("Usage: U1 <-t secs> fifoname\n"); exit(1); } //read arguments - strcpy(fifoname,argv[3]); - nsecs=atoi(argv[2])*1000; + argumentsReader(argc, argv, &nplaces, &nthreads, fifoname); + //printf("argc:%d\nargv:smth\nnsecs:%f\nnplaces:%d\nnthreads:%d\nfifoname:%s\n", argc, nsecs, nplaces, nthreads, fifoname); strcat(fifopath,fifoname); //create public fifo @@ -167,3 +215,4 @@ int main(int argc, char* argv[]) { if(close(fd_pub)==-1){perror("Server-closePublicFifo");} pthread_exit((void*)0); } + From 169a01c2e46b7a336635443613cf437382d35ea2 Mon Sep 17 00:00:00 2001 From: Andre_G Date: Fri, 8 May 2020 11:50:08 +0100 Subject: [PATCH 07/11] =?UTF-8?q?Tem=20NONBLOCK,=20programa=20d=C3=A1=20BL?= =?UTF-8?q?OCK,=20fuck=20this?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- run.bash | 4 ++-- src2/Q2.c | 51 +++++++++++++++++++++++++++++++++++++-------------- src2/U2.c | 14 +++++++++----- 3 files changed, 48 insertions(+), 21 deletions(-) diff --git a/run.bash b/run.bash index 99d6b24..cf71b1b 100755 --- a/run.bash +++ b/run.bash @@ -4,14 +4,14 @@ echo "║ CHANGE FLAGS IN BASH ║" echo "╚══════════════════════════╝" cd src2/tmp -# rm *.* & +rm *.* & cd .. # $? = 0 se compilou bem # $? = 2 otherwise make -s if [ $? -eq 0 ] ; then - ./Q2 -t 5 -l 100 -n 400 fifoname & # Un <-t nsecs> fifoname + ./Q2 -t 5 -l 4 -n 2 fifoname & # Un <-t nsecs> fifoname P1=$! ./U2 -t 10 fifoname & # Qn <-t nsecs> [-l nplaces] [-n nthreads] fifoname P2=$! diff --git a/src2/Q2.c b/src2/Q2.c index 1e98053..c115fcc 100644 --- a/src2/Q2.c +++ b/src2/Q2.c @@ -20,17 +20,27 @@ #define ClearBit(A,k) ( A[(k/32)] &= ~(1 << (k%32)) ) #define TestBit(A,k) ( A[(k/32)] & (1 << (k%32)) ) +double nsecs; /**< numbers of seconds the program will be running */ +int nplaces; /**< size of array places */ +int nThreadsActive; /**< nº of active threads at the moment*/ + //com o intervalo entre pedidos 10 ms e valor maximo de uso 1000 ms, o valor maximo de lugares em uso //ao mesmo tempo é 100. 100/32 =3.125 faz com que seja preciso tamanho 4 -int places[4]; /**< array of bits to store used places */ +int *places; /**< array of bits to store used places */ bit closed; /**< bit to store if Server is open or closed */ + pthread_mutex_t mut=PTHREAD_MUTEX_INITIALIZER; /**< mutex to access places[] */ pthread_mutex_t mut2=PTHREAD_MUTEX_INITIALIZER; /**< mutex to enable closed bit */ +pthread_mutex_t mut3=PTHREAD_MUTEX_INITIALIZER; /**< mutex to access nThreadsActive */ + -double nsecs; /**< numbers of seconds the program will be running */ void * thread_func(void *arg){ + if(pthread_mutex_lock(&mut3)!=0){perror("Server-MutexLock");} + nThreadsActive++; + if(pthread_mutex_unlock(&mut3)!=0){perror("Server-MutexUnLock");} + char * request = (char *) arg; /**< Request string received from public fifo*/ int threadi, pid, dur, place; /**< Component of request*/ long tid; /**< thread id of client */ @@ -40,7 +50,7 @@ void * thread_func(void *arg){ printRegister(time(NULL), threadi, getpid(), pthread_self(), dur, -1, RECVD); // make private fifo pathname - char privateFifo[BUFSIZE]="/tmp/"; + char privateFifo[BUFSIZE]="tmp/"; char temp[BUFSIZE]; if(sprintf(temp,"%d",pid)<0){perror("Server-sprintf");} strcat(privateFifo,temp); @@ -104,6 +114,9 @@ void * thread_func(void *arg){ // cleanup ClearBit(places, place); if(close(fd_priv)==-1){perror("Server-closePrivateFifo");} + if(pthread_mutex_lock(&mut3)!=0){perror("Server-MutexLock");} + nThreadsActive--; + if(pthread_mutex_unlock(&mut3)!=0){perror("Server-MutexUnLock");} pthread_exit(NULL); } @@ -154,18 +167,13 @@ void argumentsReader(int argc, char* argv[], int *nplaces, int *nthreads, char f int main(int argc, char* argv[]) { char fifoname[BUFSIZE]; /**< public fifo file name */ - char fifopath[BUFSIZE]="/tmp/"; /**< public fifo path */ + char fifopath[BUFSIZE]="tmp/"; /**< public fifo path */ char clientRequest[BUFSIZE]; /**< string read from public fifo */ pthread_t tid; /**< array to store thread id's */ closed.x=0; /**< 1-server closed | 0-server open */ - - int nplaces=0; - int nthreads=0; - - // initialize available places at 0 - for (int i = 0; i < 4; i++) - places[i] = 0; - + nplaces = 0; + nThreadsActive = 0; + int nthreads=INT_MAX; // check arguments if (argc!=4 && argc!=6 && argc!=8){ printf("Usage: U1 <-t secs> fifoname\n"); @@ -176,6 +184,12 @@ int main(int argc, char* argv[]) { argumentsReader(argc, argv, &nplaces, &nthreads, fifoname); //printf("argc:%d\nargv:smth\nnsecs:%f\nnplaces:%d\nnthreads:%d\nfifoname:%s\n", argc, nsecs, nplaces, nthreads, fifoname); strcat(fifopath,fifoname); + places = (int*) malloc(nplaces * sizeof(int)); + int* places_copy = places; + + // initialize available places at 0 + for (int i = 0; i < 4; i++) + places[i] = 0; //create public fifo if(mkfifo(fifopath,0660)==-1){perror("Error creating public FIFO"); exit(1);} @@ -192,8 +206,16 @@ int main(int argc, char* argv[]) { // while loop to check public fifo if(read(fd_pub,&clientRequest,BUFSIZE)<=0){ continue;} // create thread with contents of public fifo - if(pthread_create(&tid, NULL, thread_func, &clientRequest)!=0){perror("Server-pthread_Create");} - if(pthread_detach(tid)!=0){perror("Server-pthread_detach");} + if (nThreadsActive < nthreads) + { + if(pthread_create(&tid, NULL, thread_func, &clientRequest)!=0){perror("Server-pthread_Create");} + if(pthread_detach(tid)!=0){perror("Server-pthread_detach");} + } + else + { + // o que é suposto fazer aqui? + } + } // closing sequence if(unlink(fifopath)==-1){perror("Error destroying public fifo:");} @@ -213,6 +235,7 @@ int main(int argc, char* argv[]) { // cleanup if(close(fd_pub)==-1){perror("Server-closePublicFifo");} + free(places_copy); pthread_exit((void*)0); } diff --git a/src2/U2.c b/src2/U2.c index 856c303..8f6ba5f 100644 --- a/src2/U2.c +++ b/src2/U2.c @@ -50,7 +50,6 @@ void * thread_func(void *arg){ attempt++; } while (fd_pub==-1 && attempt < 5); if (fd_pub == -1) { - //fprintf(stderr, "%d-%s\n", i, "Client - Error Opening Public Fifo"); if(pthread_mutex_lock(&mut2)!=0){perror("Client-MutexLock");} printRegister(time(NULL), i, getpid(), pthread_self(), useTime, -1, CLOSD); if(pthread_mutex_unlock(&mut2)!=0){perror("Client-MutexUnLock");} @@ -73,7 +72,7 @@ void * thread_func(void *arg){ if(close(fd_pub)==-1){perror("Client-closePublicFifo");} // Making of pathname of private fifo - char privateFifo[BUFSIZE]="/tmp/"; + char privateFifo[BUFSIZE]="tmp/"; char temp[BUFSIZE]; if(sprintf(temp,"%d",(int)getpid())<0){perror("Client-sprintf");} strcat(privateFifo,temp); @@ -88,14 +87,19 @@ void * thread_func(void *arg){ int fd_priv; startt = elapsedTime(); do{ - fd_priv = open(privateFifo, O_RDONLY); + printf("|i: %d -- attempting to open private fifo\n", i); + fflush(stdout); + fd_priv = open(privateFifo, O_RDONLY, O_NONBLOCK); + printf("fdpriv: %d\n", fd_priv); + fflush(stdout); } while (fd_priv==-1 && elapsedTime() - startt < MSATTEMPT); - if (fd_priv < 0) { + printf("|||i: %d -- after attempting to open private fifo\n", i); if(fprintf(stderr, "%d.%s\n", i, "Client - Error Opening Private Fifo")<0){perror("Client-fprintf");} if(close(fd_priv)==-1){perror("Client-closePrivateFifo");} pthread_exit(NULL); } + printf("||||i: %d -- able to open private fifo\n", i); // Attempting to read the response char receivedMessage[BUFSIZE]; @@ -128,7 +132,7 @@ void * thread_func(void *arg){ int main(int argc, char* argv[], char *envp[]) { char fifoname[BUFSIZE]; /**< public fifo file name */ - char fifopath[BUFSIZE]="/tmp/"; /**< public fifo path */ + char fifopath[BUFSIZE]="tmp/"; /**< public fifo path */ double nsecs; /**< numbers of seconds the program will be running */ pthread_t tid; /**< array to store thread id's */ serverOpen.x = 1; From 89a094f12a1ceadaac2f70e45dd63bb2945c1f40 Mon Sep 17 00:00:00 2001 From: Andre_G Date: Fri, 8 May 2020 12:23:25 +0100 Subject: [PATCH 08/11] -n tratado --- removefifo.bash | 2 +- run.bash | 2 +- src2/U2.c | 26 +++++++++++++++++--------- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/removefifo.bash b/removefifo.bash index 6fc965b..0cec3a2 100755 --- a/removefifo.bash +++ b/removefifo.bash @@ -1,3 +1,3 @@ #!/bin/bash -cd src/tmp +cd src2/tmp rm fifoname diff --git a/run.bash b/run.bash index cf71b1b..f2bf416 100755 --- a/run.bash +++ b/run.bash @@ -11,7 +11,7 @@ cd .. # $? = 2 otherwise make -s if [ $? -eq 0 ] ; then - ./Q2 -t 5 -l 4 -n 2 fifoname & # Un <-t nsecs> fifoname + ./Q2 -t 5 -l 4 -n 1 fifoname & # Un <-t nsecs> fifoname P1=$! ./U2 -t 10 fifoname & # Qn <-t nsecs> [-l nplaces] [-n nthreads] fifoname P2=$! diff --git a/src2/U2.c b/src2/U2.c index 8f6ba5f..a95e16b 100644 --- a/src2/U2.c +++ b/src2/U2.c @@ -87,27 +87,35 @@ void * thread_func(void *arg){ int fd_priv; startt = elapsedTime(); do{ - printf("|i: %d -- attempting to open private fifo\n", i); - fflush(stdout); - fd_priv = open(privateFifo, O_RDONLY, O_NONBLOCK); - printf("fdpriv: %d\n", fd_priv); - fflush(stdout); + fd_priv = open(privateFifo, O_RDONLY | O_NONBLOCK); } while (fd_priv==-1 && elapsedTime() - startt < MSATTEMPT); if (fd_priv < 0) { - printf("|||i: %d -- after attempting to open private fifo\n", i); if(fprintf(stderr, "%d.%s\n", i, "Client - Error Opening Private Fifo")<0){perror("Client-fprintf");} if(close(fd_priv)==-1){perror("Client-closePrivateFifo");} pthread_exit(NULL); } - printf("||||i: %d -- able to open private fifo\n", i); // Attempting to read the response char receivedMessage[BUFSIZE]; int tmpresult = read(fd_priv,&receivedMessage,BUFSIZE); + printf("|i: %d - tmpresult : %d\n", i, tmpresult); // Attempts to read from private fifo until there's a response - while(tmpresult==0){tmpresult = read(fd_priv,&receivedMessage,BUFSIZE);} - if(tmpresult<0) {printRegister(time(NULL), i, getpid(), pthread_self(), useTime, -1, FAILD);} + int try = 0; + while(tmpresult<=0 && try < 5){ + if (try != 0) + usleep(100*1000); + tmpresult = read(fd_priv,&receivedMessage,BUFSIZE); + printf("||i: %d - tmpresult : %d\n", i, tmpresult); + try++; + } + if(tmpresult<=0) { + printf("|||i: %d - tmpresult : %d\n", i, tmpresult); + printRegister(time(NULL), i, getpid(), pthread_self(), useTime, -1, FAILD); + if(close(fd_priv)==-1){perror("Client-closePrivateFifo");} + if (unlink(privateFifo)==-1){perror("Error destroying private fifo:");} + pthread_exit(0); + } // If there's a response, parse the response to different variables int threadi, pid, dur, place; From 688cd9e26c80a455bda8303d35afd685785feb87 Mon Sep 17 00:00:00 2001 From: Andre_G Date: Fri, 8 May 2020 12:27:17 +0100 Subject: [PATCH 09/11] retirar linhas de debug --- src2/U2.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src2/U2.c b/src2/U2.c index a95e16b..983d537 100644 --- a/src2/U2.c +++ b/src2/U2.c @@ -98,7 +98,6 @@ void * thread_func(void *arg){ // Attempting to read the response char receivedMessage[BUFSIZE]; int tmpresult = read(fd_priv,&receivedMessage,BUFSIZE); - printf("|i: %d - tmpresult : %d\n", i, tmpresult); // Attempts to read from private fifo until there's a response int try = 0; @@ -106,11 +105,9 @@ void * thread_func(void *arg){ if (try != 0) usleep(100*1000); tmpresult = read(fd_priv,&receivedMessage,BUFSIZE); - printf("||i: %d - tmpresult : %d\n", i, tmpresult); try++; } if(tmpresult<=0) { - printf("|||i: %d - tmpresult : %d\n", i, tmpresult); printRegister(time(NULL), i, getpid(), pthread_self(), useTime, -1, FAILD); if(close(fd_priv)==-1){perror("Client-closePrivateFifo");} if (unlink(privateFifo)==-1){perror("Error destroying private fifo:");} From 9bbbbd8b8e2e2303ed1c4cd188068b17a9c8da93 Mon Sep 17 00:00:00 2001 From: filipeeteixeira Date: Sat, 9 May 2020 00:18:40 +0100 Subject: [PATCH 10/11] fixed thread number bug --- src2/U2.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src2/U2.c b/src2/U2.c index 983d537..086d4fa 100644 --- a/src2/U2.c +++ b/src2/U2.c @@ -33,8 +33,9 @@ pthread_mutex_t mut2=PTHREAD_MUTEX_INITIALIZER; /**< mutex para aceder a i*/ */ void * thread_func(void *arg){ // updating i with mutex's + int threadn;/**< thread number */ if(pthread_mutex_lock(&mut2)!=0){perror("Client-MutexLock");} - i++; + threadn = i++; if(pthread_mutex_unlock(&mut2)!=0){perror("Client-MutexUnLock");} int fd_pub; /**< file descriptor of public fifo */ @@ -50,9 +51,8 @@ void * thread_func(void *arg){ attempt++; } while (fd_pub==-1 && attempt < 5); if (fd_pub == -1) { - if(pthread_mutex_lock(&mut2)!=0){perror("Client-MutexLock");} - printRegister(time(NULL), i, getpid(), pthread_self(), useTime, -1, CLOSD); - if(pthread_mutex_unlock(&mut2)!=0){perror("Client-MutexUnLock");} + printRegister(time(NULL), threadn, getpid(), pthread_self(), useTime, -1, CLOSD); + if(pthread_mutex_lock(&mut)!=0){perror("Client-MutexLock");} serverOpen.x = 0; if(pthread_mutex_unlock(&mut)!=0){perror("Client-MutexUnLock");} @@ -60,7 +60,7 @@ void * thread_func(void *arg){ } // Making of message to send, writing of message and closing of fifo - if(sprintf(request,"[ %d, %d, %lu, %d, -1 ]", i, getpid(), pthread_self(), useTime)<0){perror("Client-sprintf");} + if(sprintf(request,"[ %d, %d, %lu, %d, -1 ]", threadn, getpid(), pthread_self(), useTime)<0){perror("Client-sprintf");} if (write(fd_pub, &request, BUFSIZE)<0){ perror("Error writing request: "); @@ -68,7 +68,7 @@ void * thread_func(void *arg){ pthread_exit(NULL); } - printRegister(time(NULL), i, getpid(), pthread_self(), useTime, -1, IWANT); + printRegister(time(NULL), threadn, getpid(), pthread_self(), useTime, -1, IWANT); if(close(fd_pub)==-1){perror("Client-closePublicFifo");} // Making of pathname of private fifo @@ -90,7 +90,7 @@ void * thread_func(void *arg){ fd_priv = open(privateFifo, O_RDONLY | O_NONBLOCK); } while (fd_priv==-1 && elapsedTime() - startt < MSATTEMPT); if (fd_priv < 0) { - if(fprintf(stderr, "%d.%s\n", i, "Client - Error Opening Private Fifo")<0){perror("Client-fprintf");} + if(fprintf(stderr, "%d.%s\n", threadn, "Client - Error Opening Private Fifo")<0){perror("Client-fprintf");} if(close(fd_priv)==-1){perror("Client-closePrivateFifo");} pthread_exit(NULL); } @@ -108,7 +108,8 @@ void * thread_func(void *arg){ try++; } if(tmpresult<=0) { - printRegister(time(NULL), i, getpid(), pthread_self(), useTime, -1, FAILD); + printRegister(time(NULL), threadn, getpid(), pthread_self(), useTime, -1, FAILD); + if(close(fd_priv)==-1){perror("Client-closePrivateFifo");} if (unlink(privateFifo)==-1){perror("Error destroying private fifo:");} pthread_exit(0); From 8051302314357df097ef6e0ab79654eca6d8a9a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cam=C3=B5es?= <54408098+Ca-moes@users.noreply.github.com> Date: Sat, 9 May 2020 11:49:22 +0100 Subject: [PATCH 11/11] Update src2/Q2.c places to 0 at start --- src2/Q2.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src2/Q2.c b/src2/Q2.c index c115fcc..57065ab 100644 --- a/src2/Q2.c +++ b/src2/Q2.c @@ -188,7 +188,7 @@ int main(int argc, char* argv[]) { int* places_copy = places; // initialize available places at 0 - for (int i = 0; i < 4; i++) + for (int i = 0; i < nplaces; i++) places[i] = 0; //create public fifo @@ -238,4 +238,3 @@ int main(int argc, char* argv[]) { free(places_copy); pthread_exit((void*)0); } -