diff options
author | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2011-01-25 16:20:29 +0000 |
---|---|---|
committer | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2011-01-25 16:20:29 +0000 |
commit | 6374516e063e49ca313329a68f9c5f0dd16713ae (patch) | |
tree | ecfc6c8686bf9aa2d49a40ff2181ccfbd3448e06 /app/v3_c/src/main.c | |
parent | dcda721939bc81c58f66850aa21f6b6f0c64cab3 (diff) | |
download | 2011-usi-6374516e063e49ca313329a68f9c5f0dd16713ae.tar.gz 2011-usi-6374516e063e49ca313329a68f9c5f0dd16713ae.tar.bz2 2011-usi-6374516e063e49ca313329a68f9c5f0dd16713ae.zip |
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).
git-svn-id: file:///var/svn/2011-usi/trunk@16 db941bf7-0cb3-4dda-9634-87faf64f93a7
Diffstat (limited to 'app/v3_c/src/main.c')
-rw-r--r-- | app/v3_c/src/main.c | 27 |
1 files changed, 25 insertions, 2 deletions
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(); } |