summaryrefslogtreecommitdiff
path: root/app/v3_c/src/process.c
diff options
context:
space:
mode:
authorLudovic Pouzenc <ludovic@pouzenc.fr>2011-01-22 23:06:52 +0000
committerLudovic Pouzenc <ludovic@pouzenc.fr>2011-01-22 23:06:52 +0000
commit31f0e4b4067901e35ba3c3c66a77e84f35e74992 (patch)
tree70327d37a44f85b8001c7fdf590a53f90b8948e1 /app/v3_c/src/process.c
parentd26dbab8f789d787d5c39f8700b4ac19701f286f (diff)
download2011-usi-31f0e4b4067901e35ba3c3c66a77e84f35e74992.tar.gz
2011-usi-31f0e4b4067901e35ba3c3c66a77e84f35e74992.tar.bz2
2011-usi-31f0e4b4067901e35ba3c3c66a77e84f35e74992.zip
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.. git-svn-id: file:///var/svn/2011-usi/trunk@14 db941bf7-0cb3-4dda-9634-87faf64f93a7
Diffstat (limited to 'app/v3_c/src/process.c')
-rw-r--r--app/v3_c/src/process.c33
1 files changed, 33 insertions, 0 deletions
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 <stdlib.h>
+#include <unistd.h>
+
+#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;
+}