From d5dde72669a5516eec120f80900341146322e040 Mon Sep 17 00:00:00 2001 From: "romain.gabet.etu" <romain.gabet.etu@univ-lille.fr> Date: Mon, 1 Feb 2021 15:52:31 +0100 Subject: [PATCH] mheu --- webserver/.main.c.swp | Bin 0 -> 1024 bytes webserver/.socket.c.swp | Bin 1024 -> 1024 bytes webserver/main.c | 16 ++++++++++++++++ webserver/main.o | Bin 2128 -> 2776 bytes webserver/pawnee | Bin 17440 -> 17736 bytes webserver/socket.c | 3 +++ webserver/socket.h | 2 ++ webserver/socket.o | Bin 4592 -> 4672 bytes 8 files changed, 21 insertions(+) create mode 100644 webserver/.main.c.swp diff --git a/webserver/.main.c.swp b/webserver/.main.c.swp new file mode 100644 index 0000000000000000000000000000000000000000..02609d8d567ee0afd05e5399fd09b580d73179ae GIT binary patch literal 1024 zcmYc?$V<%2S1{HyVn6{WSQ!}76O&R)ico~Ha)?!zo0yrWmyFejQNhs=7!82|2mt_d CISStZ literal 0 HcmV?d00001 diff --git a/webserver/.socket.c.swp b/webserver/.socket.c.swp index 36066abd09b6d63155fdf784302f40a32c2a53c0..0173fa2adbb145280321885f721fe4c81118667f 100644 GIT binary patch delta 19 bcmZqRXyBM2!E~N=qEyhvxk1bm4>$n;J*)=8 delta 84 zcmZqRXyBM2!KA@5Q7Xt#KO;XkRX;s3DYc|X->I}HHL+AbpeR2*zPPeDKCw(c*Tm4k aFj>DmHK{nYs4TTee`8J%vtTF#8UO%X6&9}m diff --git a/webserver/main.c b/webserver/main.c index 20c2a69..20fc092 100644 --- a/webserver/main.c +++ b/webserver/main.c @@ -2,12 +2,28 @@ #include <string.h> #include <signal.h> #include "socket.h" +#include <sys/types.h> +#include <sys/wait.h> +int status; + +void traitement_signal(int sig) { + printf("Signal %d reçu\n", sig); + waitpid(sig,&status,0); +} + void initialiser_signaux(void) { if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) { perror("signal"); } + struct sigaction sa; + sa.sa_handler = traitement_signal; + sigemptyset(&sa.sa_mask); + sa.sa_flags = SA_RESTART; + if (sigaction(SIGCHLD, &sa, NULL) == -1) { + perror("sigaction(SIGCHLD)"); + } } diff --git a/webserver/main.o b/webserver/main.o index 16c42a2da10ef21faf2f6937a4ac6a8824af92e5..fb874988970a6be8d0039de0c50ef3347c5b3b79 100644 GIT binary patch literal 2776 zcmb<-^>JfjWMqH=Mg}_u1P><4z%YXy!FB*M9T<2Sco;%GI-hzpzY*xH{nPFGr}LOc zuPsP+2Z(q9BD!7w>;lmqy`~_l^Eg;^!pXy6osDl6FfcIe1KGHrmw|x+Ea}nw<9{g+ z)Fg;VFDpp1M`vro|Ns9zdLdNv0S*tSdB<Hr>I9%N5DPnx?H7a@iD4ql0T8Eqbe4W- zuKmMUXXw%G`oRNaa5n?g#V{*c50nZcyJ?3O0|Ucr1(3ZA$m07a$V2@B4uq43gEQ0f z5_1$(Qxu9)4=*p}Vkia+fT+aelFa-(jbKlAXAd72O$Ob>l(Nj^R0fy)JoOTVfW*Aa zWJLzQ)YKG(#5@IvoIL}ByR);Ef`&_KQf6YFf`y*3o`J5JCWOHt0tzPv1_s8eAO^+? z0Y+&ac8&>*3=A?15Db#G0uhdU0&PsrylkaB>>N-z8<02y14AQ-hRHM4fE9rB$AH8c z7#K1@G+aIzEDsXGhCwmQ!tn7wHaTXjDUE@FnSmLbat3Aw798T>)PW(#%z%_=kz|<} zKt4tifHIjG*q|%~1yU)<@aaFyW*E)Sz`!7c<bH6NGB7YGGB7X*Ahg3-<~YRdaEQA> z&4-x_juQq31}Plsqi~2P;t<cpAzlu(cQ@4K;J9XBV5q^Nz8Qyj2M%$D+{Da0y<~>s zlEjkIVuq5U#LSY^+|<01cxbMOclYska`cJ!cXJDN4T%qNbn<bHXDBGj%qvM_C{N5R zDacG=$jr+u$xO`2EKV(g=qs&YC`c_T$}a-ts?^+qlFH)L5)d1b!@#yO6qghw=N2#& zl$I1TBp0QE^rjY-rIr>kFfa&1{maC_zyL~3fBr*&EL0p6?>r0)3@~vWs5nSHCz7}^ zR2-xpRG`7s2Ox=q(hf{K7Ag)h2V^fu4@f8pL@+RbQ#>d=!PI9$#X;)1kn9D;14s&F zFR0Xmsb35dgqkCSq<%eA9Apm2URb%Y1u70Q2ie|xP;r=gbtwNClm@8>nE|u+BUBuw zULVT;2BksjMUmXY1S%+??&L!f=Y)#G%z>3rd{A+8b0m<&#gNQVfZ7W(2ZW(q21s4T zzyJ~hVOV}kfGPlqfiNsTFz6Lm=9VNTG3XVS6hY_=7^^5XCsD5?wW5SUFD0=gkwGu1 zxR^n&C?CQ}&d&v<a|XS<{E}2XcfU~G;*!MVYz95Bw$zOHw4%h^RH(HSQy~9>f&#rn zgZWn(B#C4T8ka#D8W%A2Fr^%z#KOS9@Bpd-lm<aeP&o-wBLN~97#P$*br1unEQbm} zsbr91C>xnV7Y5}okeTQ;0kQfGq4tB~4%r@<epr5l$)VeC3Ds`^QvjtmLlwfx1*kB* zCV)yaI6?Kp<YDv$m;#spltvd0hw4XnKTLlGR3D52g%ykqqJwb6-wSAh@Bk@dU|;~n zA4o3<gM?u52XYU(-5_}nsGtUv=4N1E0F{5}`axpoaR<_00Lrio3=Gpi93%{~4~feF TD#NhpH-J{@pn45iJ-U7X4ugKy delta 615 zcmca1dO=`<29p5mL@lX_t%^(&VkiE}WGl{0&r8gi+{@_9#sCJB&oin@YJixId;)Du z&b(~NJnS3{3=A?13=B4tb(y}43NbK(<iQxM5+pl0kXfA32uxan$jKkrS->h`Dl)+8 z85mqavWz}pG7v;gE@0sh&dkd!$xO`2EKV(o2fL}XV)6tQab7SxhoK;~s3^Z^@-r4i zLw=|^EDQ_`+zbp1fBr)N$bBFwCI$uuRwQx7$%?Gv_1+*U1_lP0EHjiJ45dM)@geDo zgNnn{gKPo`C4&eC1_qFNkV{~;=Oc-8BAHVL5!ZrSECCT<sD{$$2DMHWWD}qKf=z=_ zW3ndudBzEo1DS*;^Khte7C_z1G1-#CobkfsiR|K&6PQ>g_i(5n@y>9la9)6#tpm}^ zslxdODk2LO@!?cql$>11Y0s$ujme0~g3Q8`&v2@6R)8GDz`$TI`6s72R|Qml2IFKa bE;CL6s1xGB#`JKhaISzVPXvqbaPR;C!A*ws diff --git a/webserver/pawnee b/webserver/pawnee index 4769e4d4a9faee65d9a246c9fd1acb0f8d1da359..0b44b9bf2da5f5c07bca4b302ec12129843f68a5 100755 GIT binary patch delta 2941 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 delta 2301 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 diff --git a/webserver/socket.c b/webserver/socket.c index 8abb0e2..62c9b0d 100644 --- a/webserver/socket.c +++ b/webserver/socket.c @@ -6,6 +6,7 @@ #include <sys/wait.h> #include <stdlib.h> + int creer_serveur(int port){ //socket int socket_serveur; @@ -57,6 +58,7 @@ int creer_serveur(int port){ exit(1); }else if(pid > 0) { //close(socket_client); fait une erreur si on le met + traitement_signal(SIGCHLD); }else{ /* On peut maintenant dialoguer avec le client */ const char *message_bienvenue = "Bonjour, bienvenue sur mon serveur\nExcogitatum est super his, ut homines quidam ignoti, vilitate ipsa parum cavendi ad colligendos rumores per Antiochiae latera cuncta destinarentur relaturi quae audirent. hi peragranter et dissimulanter honoratorum circulis adsistendo pervadendoque divites domus egentium habitu quicquid noscere poterant vel audire latenter intromissi per posticas in regiam nuntiabant, id observantes conspiratione concordi, ut fingerent quaedam et cognita duplicarent in peius, laudes vero supprimerent Caesaris, quas invitis conpluribus formido malorum inpendentium exprimebat.Sed fruatur sane hoc solacio atque hanc insignem ignominiam, quoniam uni praeter se inusta sit, putet esse leviorem, dum modo, cuius exemplo se consolatur, eius exitum expectet, praesertim cum in Albucio nec Pisonis libidines nec audacia Gabini fuerit ac tamen hac una plaga conciderit, ignominia senatus.Post emensos insuperabilis expeditionis eventus languentibus partium animis, quas periculorum varietas fregerat et laborum, nondum tubarum cessante clangore vel milite locato per stationes hibernas, fortunae saevientis procellae tempestates alias rebus infudere communibus per multa illa et dira facinora Caesaris Galli, qui ex squalore imo miseriarum in aetatis adultae primitiis ad principale culmen insperato saltu provectus ultra terminos potestatis delatae procurrens asperitate nimia cuncta foedabat. propinquitate enim regiae stirpis gentilitateque etiam tum Constantini nominis efferebatur in fastus, si plus valuisset, ausurus hostilia in auctorem suae felicitatis, ut videbatur."; @@ -65,6 +67,7 @@ int creer_serveur(int port){ sleep(1); } close(socket_client); + initialiser_signaux(); exit(0); } } diff --git a/webserver/socket.h b/webserver/socket.h index 36a23ed..002ecc8 100644 --- a/webserver/socket.h +++ b/webserver/socket.h @@ -5,5 +5,7 @@ de la machine sur le port passé en paramètre. La socket retournée doit pouvoir être utilisée directement par un appel à accept. La fonction retourne -1 en cas d'erreur ou le descripteur de la socket créée. */ +void traitement_signal(int sig); +void initialiser_signaux(void); int creer_serveur(int port); #endif diff --git a/webserver/socket.o b/webserver/socket.o index 01cfd92ce54f541cc5bafab22cbd8b0eba180093..69669a0b4e38637e404419002cd15e253cff4ba0 100644 GIT binary patch delta 295 zcmeyMd_ZM_1``ASMy+f{zB-=$f(#4{FBljY7+z1GJe|>!iGgABImUNvjI$>1<@n7w zYx7P{en!Tc$p<;b8Jodm=j4Z6je;dbiJ2v-xv6<2@x__xd5Jlb6S+k<S8zu#NyajQ zjALM6VPIeoVPIhR^B)4zCST+gXDpk{$S1Dag``FdNzD`_aq-Eje6Ja2O%~)g=iI;z zG4sOYKz?(kTa1%0a)?b{z^?&gKH%42d@z|)z@D*lvZsJO(=rZ-3IPqq6_Za2*fTav m<`lH&e82%Q#$j@xpgE@k)X@IP69vsVXYfJf5+_gOmj?hL<5j5u delta 263 zcmX@0@<Dlm2Ga(<jau1^O!bQ=FJ`pd{DAQd8)M((vmCz}`!=8C<Y#0ooP3c}oUt54 zPFCQ~5-Bbz%1O;*C@;z^No6R`Nlh(aVA#BlJBo=hYO*4qxM3C}0~oL{FffQPFfjc2 z4*_*Z;-X069g_q3#3wiKJz(scoXBs^S-}m~&ah+hLVk0mbBvQ8a)?d-z^?&g8VG1G zUYHyyV9!`Nd8U9p(=-l<3IPqq8IvUi?HLUwM+(|=Uf_TjqcM4*pgHFcE(ou7@<Ty$ OP7gi^FLCliet7_av{BLk -- GitLab