From 6374516e063e49ca313329a68f9c5f0dd16713ae Mon Sep 17 00:00:00 2001 From: Ludovic Pouzenc <ludovic@pouzenc.fr> Date: Tue, 25 Jan 2011 16:20:29 +0000 Subject: Correction de quelques trucs oubliés dans le refactoring précédent. La gestion de signaux est remontée dans le main (pas fonctionnellement lié au serveur TCP). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///var/svn/2011-usi/trunk@16 db941bf7-0cb3-4dda-9634-87faf64f93a7 --- app/v3_c/src/main.c | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'app/v3_c/src/main.c') diff --git a/app/v3_c/src/main.c b/app/v3_c/src/main.c index c88485e..d952730 100644 --- a/app/v3_c/src/main.c +++ b/app/v3_c/src/main.c @@ -1,9 +1,32 @@ +#include <stdio.h> +#include <stdlib.h> +#include <signal.h> + +#include "usi2011jjl.h" +#include "utils.h" #include "tcpserver.h" -#define USI2011JJL_VERSION_MAJOR @USI2011JJL_VERSION_MAJOR@ -#define USI2011JJL_VERSION_MINOR @USI2011JJL_VERSION_MINOR@ +extern int end; + +void _signals(int signum) { + static int force=0; + if (0) printf("signal %i\n", signum); + + if(!force) { + end=1; + force=1; + logs("Tentative d'arrêt soft du serveur..."); + } else { + logs("Arrêt d'urgence du serveur"); + exit(1); + } +} int main() { + // On active la gestion des signaux + signal(2,_signals); + + // On exécute le serveur TCP return tcpserver(); } -- cgit v1.2.3