From eda438894d396ab92c183a6e6717992675e10d08 Mon Sep 17 00:00:00 2001 From: Ugo Cirmignani Date: Sat, 2 Mar 2019 14:44:39 +0100 Subject: [PATCH] Working on mutex --- build/modules/auth.o | Bin 17128 -> 17128 bytes build/modules/configRead.o | Bin 38120 -> 38120 bytes build/modules/connection.o | Bin 52224 -> 52224 bytes build/modules/ftpCommandElaborate.o | Bin 77176 -> 76552 bytes build/modules/ftpData.o | Bin 45960 -> 45960 bytes build/modules/ftpServer.o | Bin 60144 -> 60144 bytes build/modules/openSsl.o | Bin 19744 -> 19744 bytes build/uFTP | Bin 218928 -> 218840 bytes ftpCommandElaborate.c | 16 ++++++++-------- 9 files changed, 8 insertions(+), 8 deletions(-) diff --git a/build/modules/auth.o b/build/modules/auth.o index cb29666ce76b4e8b11ab71ec032b12b4c96429a8..7682e204c8f3df1bc4552cda132862d05ccedf2e 100644 GIT binary patch delta 16 XcmaFS%J`y{af1*qW65S=-m9hnIPwMl delta 16 XcmaFS%J`y{af1*qWBO)c-m9hnIHU#f diff --git a/build/modules/configRead.o b/build/modules/configRead.o index de91d0accf4f4ae1bb8f4504c2f71fda6622aa1b..42c179161de84fe2e476d0305eef82725cc592e5 100644 GIT binary patch delta 16 YcmaE{lIg`trVYQ<8A~?*QGb&I07@?ioB#j- delta 16 YcmaE{lIg`trVYQ<8PhlaQGb&I07>Bpj{pDw diff --git a/build/modules/connection.o b/build/modules/connection.o index 278927fd9c3ab01cc05dbc4cc349f6fc3259e63f..1e110f4baffb158ebe9b481b4ca3aff2fa95051c 100644 GIT binary patch delta 16 YcmZpe!Q3!|dBapI#*)p`tg@~ delta 16 YcmZpe!Q3!|dBapI#`Mk8tgZJoB#j- diff --git a/build/modules/ftpCommandElaborate.o b/build/modules/ftpCommandElaborate.o index 97b91d18c025708bbb9acb39f48e22942cc4a172..2639eb1397a790dfa6ccddf4ceb49094ad768837 100644 GIT binary patch delta 8531 zcmZ{q32;)u598TSl@vTpOk@$hEO^%b7i>FgOT4(x<^BaFyocz>mo}TP=Srz_Jb`O~%-5;DJXpchh5x3CTaP{IOBmm7S=iZgPyVMBodOH2>D4 zzk4bxKE}OHR9D}8&@9f>8dIY6ceyKF3DP}1HGN7ImofI9>tT<3J)o}sZ$PtEZ>{m9 z{$e+Qj|YAc%J^T`e{{6Yzh{nCe--?97G>{fg>r#@Ko#_3r{{>Jyrd1KUHuUmv9T5opB)*XI?G z4ldBrtzdOaNqI9_wbSyoZlddOYq-{#3LYL&Ql9EwbKL6y_gWxN?d-`%yT2#6*JAfN zRb7MoK0PR!&YnJd?(})VU7vj*g5y7*8|%O9)4o*)tHwVF=}!iXIK|r&UMjC1vHbf% zs*-M^rVnIxi160L$|vU>wS2N;IF{-dj8*4K-&FIFF*jm7k#3Wxj#~D8BBl8ZhZ&&q ze2iF0;F#fg$Z##;G{YOjPcHE@t+SidU^f6wdYu-yJf9exBb*jAN#6d#vS-7TG}GM& z9Mio7=^iAUrfaFi1&T$}tstCcds6cZH!w}B6RZVhKhKgoj#>60BBf#OMc|pqji>b- zaBSXHXx=2kY4i4J{&3YF>lzL~2g#-g{1+K_-0~Hqgso^Z*2${lmhaJ2Eyd*K!}QLP z{DkG}(XDZ5U+F(#jhF&bRlYbf3jRpAn*TV|4-!uG?(CG3Q?) zdJlv5&~0RSn(L*RR&k4A5T!N-jIkYr({b}pS#`#;`}fgWDk>c$0mA9+bsOPBNM9Wy zd^F+T0>|bxhpcXD9-b~KAo$rZz^b#p;Y4Y(E#Mdcdo{`6L&1Mq18%eW0DU6_nAyO9 zu_ACZ$Kcq2*9?vgc)KzGb|@6uVi-(=06~M}2-w${qfjUm58HKfM5Yr?M_y@;p02I| zT@p8g0hV+VB($AyI+A`O0q9hi&@bF&bZpHAE>wKwdnW{#PYl$45Lck`uz{<89`x5l z(62J|e+2!_59zD=heDyO;WSJM;f18Ga|wTn@MXX;dKNUVQghoKF=L6rCx!tI)x9JDowRoi z{h<&bWN`EoqlOQZ$;)Kjg%*=vCrDZ0SdoO&(Y_lvw&_I(Sz~Yvc|u;jVEKfa7vzpo z3RWH&_qF9u0I8aBw0R>9s|v6xQdaiF2v&Ctt3QL)J;Ld<>#3f%8hHjOBV08OE3-~> z-FtL+{6Y-qn%?s9aDef|Q8I8WkI;lkj#suwqf0)}17Mj6f0egm&^jYAT5Z+d&7`z-3ebL~50A5P`>nW0`m)zxs z0WJZn<<)O2|N4i_^k;hnt7>KCI}pL@o{YO>jYxzSM5jaT}4!c{sr`<4?G0?IF2FD65BYx<8WnEZbZ=Cvq zqpGmL-5{Z(tq~m682aPD&tZe3pK}lSnW^XF4a49KaCF4do3GrX9U;pa+CVk&g4ey09X~ z489htYjAurI0xLEp$p-4z4mW2whJ6B27xk|L^9n*_zQ%eA$&67|0aA2;jPtEI82DC z$UB8Xp%p|h4F#c4sG0PCXYn$1^=}-hjj<|!gQT|sS4q>o@gB*)v+Sr*;gBy^WPFqJAI6LD1|1e{S+?CGc?!ll&HXwN#9#`f!Z#E8SVPtMc^w5r)k|H zoJR4eZFeJSC2Ow795s+?+YJV^eH$b2;}Ljtk@kbVbOm}T0l4a=K6I5IXBb=qgBcAB z!iB9MoG!K-38#zgNy6)20`(1rLO&A0OcEd_5U#{5!iNTey?!X{Dk=-B-}3MoT-1%K zzR`kr=Hls5PKy}6QrsF|y)H(9!3EClR=m`MM?}+{npWI$#>Vn;k@|#lF_wSm!9%Bk z&g3@Sa^7#vKNIWooafr`I^oZAM#k|{4<2*vb&BG+<V$A1T$LG8HZ zypX`l#eyW~MgspzEK7CvTYQ+X6P*_A`AQye-f7QQ@v`c4AD~PGrOFhK7TcjN-t{b&wrfYdKlc$Knjq1M^=wz~ZiWs}m31snn@k)}jCX45{ mc;PSFAapQ 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 diff --git a/build/modules/ftpData.o b/build/modules/ftpData.o index 311f4ffc446a257062548757ab7504fb3f204331..92a07dfaa96494985972df9b4da833b84bcf01fa 100644 GIT binary patch delta 24 gcmeBp&eZXoX~RV$#*)pKjP{x{nV4*znDyNQ0F5{c4FCWD delta 24 gcmeBp&eZXoX~RV$#`MjXjP{x{8Cz_gnDyNQ0F09h0{{R3 diff --git a/build/modules/ftpServer.o b/build/modules/ftpServer.o index 30a07123d5c624064eb02a380b975952b72c876c..2883b45a295b8152e2667503f13e8a892476b2be 100644 GIT binary patch delta 42 ycmexxmHER}<_(LS8A~=Vc1|`DF)}b^C`v6UEy{DwPf67?GBh$U+bmUftposjW)MXH delta 42 ycmexxmHER}<_(LS8Phi}c1|`DF|@Q~C`v6UEy{DwPf67?GBh$U*eq3ctposiy%0VC diff --git a/build/modules/openSsl.o b/build/modules/openSsl.o index 81c9711faf0203f6fd28b95beb48c2654b671be3..1cc8bd00b5c828ec3268b8d6c99e583f0584819f 100644 GIT binary patch delta 16 YcmZ25i*dm$#tkuij3t|6`3~Cw05-D*B>(^b delta 16 YcmZ25i*dm$#tkuijOm+W`3~Cw05)X?7ytkO diff --git a/build/uFTP b/build/uFTP index ab43bd4b151e967a0c59c856681e16494a4994e2..cbb0d1e9bca3cdea8154c8324cab14439cd5cc39 100755 GIT binary patch delta 30160 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 QZ|2N(XCAPH5AoE0084GB^Z)<= delta 30164 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[socketId].listPath, data->clients[socketId].login.absolutePath.text, data->clients[socketId].login.absolutePath.textLen, &data->clients[socketId].memoryTable); } - pthread_mutex_trylock(&data->clients[socketId].workerData.conditionMutex); + //pthread_mutex_trylock(&data->clients[socketId].workerData.conditionMutex); memset(data->clients[socketId].workerData.theCommandReceived, 0, CLIENT_COMMAND_STRING_SIZE); strcpy(data->clients[socketId].workerData.theCommandReceived, data->clients[socketId].theCommandReceived); data->clients[socketId].workerData.commandReceived = 1; - pthread_mutex_unlock(&data->clients[socketId].workerData.conditionMutex); + //pthread_mutex_unlock(&data->clients[socketId].workerData.conditionMutex); pthread_cond_signal(&data->clients[socketId].workerData.conditionVariable); return FTP_COMMAND_PROCESSED; } @@ -663,11 +663,11 @@ int parseCommandNlst(ftpDataType * data, int socketId) setDynamicStringDataType(&data->clients[socketId].nlistPath, data->clients[socketId].login.absolutePath.text, data->clients[socketId].login.absolutePath.textLen, &data->clients[socketId].memoryTable); } - pthread_mutex_trylock(&data->clients[socketId].workerData.conditionMutex); + //pthread_mutex_trylock(&data->clients[socketId].workerData.conditionMutex); memset(data->clients[socketId].workerData.theCommandReceived, 0, CLIENT_COMMAND_STRING_SIZE); strcpy(data->clients[socketId].workerData.theCommandReceived, data->clients[socketId].theCommandReceived); data->clients[socketId].workerData.commandReceived = 1; - pthread_mutex_unlock(&data->clients[socketId].workerData.conditionMutex); + //pthread_mutex_unlock(&data->clients[socketId].workerData.conditionMutex); pthread_cond_signal(&data->clients[socketId].workerData.conditionVariable); return FTP_COMMAND_PROCESSED; } @@ -688,11 +688,11 @@ int parseCommandRetr(ftpDataType * data, int socketId) if (isSafePath == 1 && FILE_IsFile(data->clients[socketId].fileToRetr.text) == 1) { - pthread_mutex_trylock(&data->clients[socketId].workerData.conditionMutex); + //pthread_mutex_trylock(&data->clients[socketId].workerData.conditionMutex); memset(data->clients[socketId].workerData.theCommandReceived, 0, CLIENT_COMMAND_STRING_SIZE); strcpy(data->clients[socketId].workerData.theCommandReceived, data->clients[socketId].theCommandReceived); data->clients[socketId].workerData.commandReceived = 1; - pthread_mutex_unlock(&data->clients[socketId].workerData.conditionMutex); + //pthread_mutex_unlock(&data->clients[socketId].workerData.conditionMutex); pthread_cond_signal(&data->clients[socketId].workerData.conditionVariable); return FTP_COMMAND_PROCESSED; } @@ -718,11 +718,11 @@ int parseCommandStor(ftpDataType * data, int socketId) if (isSafePath == 1) { - pthread_mutex_trylock(&data->clients[socketId].workerData.conditionMutex); + //pthread_mutex_trylock(&data->clients[socketId].workerData.conditionMutex); memset(data->clients[socketId].workerData.theCommandReceived, 0, CLIENT_COMMAND_STRING_SIZE); strcpy(data->clients[socketId].workerData.theCommandReceived, data->clients[socketId].theCommandReceived); data->clients[socketId].workerData.commandReceived = 1; - pthread_mutex_unlock(&data->clients[socketId].workerData.conditionMutex); + //pthread_mutex_unlock(&data->clients[socketId].workerData.conditionMutex); pthread_cond_signal(&data->clients[socketId].workerData.conditionVariable); } else