summaryrefslogtreecommitdiff
path: root/app/v3_c/src/main.c
diff options
context:
space:
mode:
authorLudovic Pouzenc <ludovic@pouzenc.fr>2011-01-25 16:20:29 +0000
committerLudovic Pouzenc <ludovic@pouzenc.fr>2011-01-25 16:20:29 +0000
commit6374516e063e49ca313329a68f9c5f0dd16713ae (patch)
treeecfc6c8686bf9aa2d49a40ff2181ccfbd3448e06 /app/v3_c/src/main.c
parentdcda721939bc81c58f66850aa21f6b6f0c64cab3 (diff)
download2011-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.c27
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();
}