From 31f0e4b4067901e35ba3c3c66a77e84f35e74992 Mon Sep 17 00:00:00 2001 From: Ludovic Pouzenc Date: Sat, 22 Jan 2011 23:06:52 +0000 Subject: Avancement sur le serveur web en C. Le fichier myhttpd.c conteint à présent un serveur TCP/IP complet qui accepte des connexions et appelle requestProcess() et process.c qui lui doit décider de passer la main à un thread ou faire la mise en attente.. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///var/svn/2011-usi/trunk@14 db941bf7-0cb3-4dda-9634-87faf64f93a7 --- app/v3_c/src/process.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 app/v3_c/src/process.c (limited to 'app/v3_c/src/process.c') diff --git a/app/v3_c/src/process.c b/app/v3_c/src/process.c new file mode 100644 index 0000000..630c718 --- /dev/null +++ b/app/v3_c/src/process.c @@ -0,0 +1,33 @@ +#include +#include + +#include "process.h" +#include "utils.h" + +int initProcess() { + // Créer au départ toutes les zones mémoire à gérer + pool de threads + files de sockets en attente... + // Utiliser des déclarations globales dans ce fichier et gérer la concurrence entre les threads + + return 0; +} + +// Appelé des qu'un nouveau socket client est créé via accept(). +// Un retour non nul de cette fonction provoque l'arrêt du serveur http +int requestProcess(int sockfd, struct sockaddr_in *addr, socklen_t *addrlen ) { +#ifdef HEAVYDEBUG + logs("requestProcess start"); +#endif + if ( 0 ) { printf("%i %p %p\n", sockfd, (void *)addr, (void *)addrlen); } + + + close(sockfd); +#ifdef HEAVYDEBUG + logs("requestProcess end"); +#endif + return 0; +} + +void freeProcess() { + // Libérer tous les espaces histoire de voir des infos propres dans valgrind + return; +} -- cgit v1.2.3