summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2005-12-29 20:49:46 +0000
committerBjørn Lindeijer <bjorn@lindeijer.nl>2005-12-29 20:49:46 +0000
commitdef4f750bc79d88963567c976813666a4dd706e7 (patch)
tree10be6cd08a056d02147b6227226ccaabb206ab28
parente8054adfc5d90cab85a147f0134566f56df7691b (diff)
downloadmanaserv-def4f750bc79d88963567c976813666a4dd706e7.tar.gz
manaserv-def4f750bc79d88963567c976813666a4dd706e7.tar.bz2
manaserv-def4f750bc79d88963567c976813666a4dd706e7.tar.xz
manaserv-def4f750bc79d88963567c976813666a4dd706e7.zip
* Added errors when SDL_net or libcrypto are not found.
* Reset SEGV signal handling after SDL initialisation to allow cores to be dumped. * Added script that perpetually runs the server and automatically saves a backtrace and restarts when it crashes.
-rw-r--r--ChangeLog20
-rw-r--r--configure.ac7
-rwxr-xr-xrunserv.sh11
-rw-r--r--src/main.cpp3
4 files changed, 32 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index f9eb4d56..35e1adab 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,16 @@
+2005-12-29 Bjørn Lindeijer <bjorn@lindeijer.nl>
+
+ * configure.ac: Added errors when SDL_net or libcrypto are not found.
+ * src/main.cpp: Reset SEGV signal handling after SDL initialisation to
+ allow cores to be dumped.
+ * runserv.sh: Added script that perpetually runs the server and
+ automatically saves a backtrace and restarts when it crashes.
+
2005-12-29 Eugenio Favalli <elvenprogrammer@gmail.com>
- * src/mapmanager.cpp, src/mapmanager.h, tmwserv.dev,: Forgot a way to
- access maps.
- * tmwserv.dev: Fixed merge conflict as pointed out by Bjørn.
+ * src/mapmanager.cpp, src/mapmanager.h, tmwserv.dev,: Forgot a way to
+ access maps.
+ * tmwserv.dev: Fixed merge conflict as pointed out by Bjørn.
2005-12-28 Bjørn Lindeijer <bjorn@lindeijer.nl>
@@ -40,9 +48,9 @@
2005-12-18 Eugenio Favalli <elvenprogrammer@gmail.com>
- * src/main.cpp, src/mapreader.cpp, tmwserv.dev,
- src/mapmanager.cpp, src/mapmanager.h: Added a map manager to
- load/unload/reload maps.
+ * src/main.cpp, src/mapreader.cpp, tmwserv.dev,
+ src/mapmanager.cpp, src/mapmanager.h: Added a map manager to
+ load/unload/reload maps.
2005-12-18 Yohann Ferreira <bertram@cegetel.net>
diff --git a/configure.ac b/configure.ac
index 758e76ce..8fce7423 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,11 +17,14 @@ AC_PROG_INSTALL
# Checks for libraries.
-AC_CHECK_LIB([crypto], [EVP_md5])
+AC_CHECK_LIB([crypto], [EVP_md5], ,
+AC_MSG_ERROR([ *** Unable to find libcrypto library]))
AC_CHECK_LIB([physfs], [PHYSFS_init], ,
AC_MSG_ERROR([ *** Unable to find PhysFS library (icculus.org/physfs/)]))
+AC_CHECK_LIB([SDL_net], [SDLNet_Init], ,
+AC_MSG_ERROR([ *** Unable to find SDL_net library]))
PKG_CHECK_MODULES(XML2, [libxml-2.0 >= 2.4])
CXXFLAGS="$CXXFLAGS $XML2_CFLAGS"
@@ -33,8 +36,6 @@ AC_CHECK_LIB_TMW([SDL], [1.2.0])
CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
LIBS="$LIBS $SDL_LIBS"
-AC_CHECK_LIB([SDL_net], [SDLNet_Init])
-
# Checks for header files.
AC_HEADER_STDC
diff --git a/runserv.sh b/runserv.sh
new file mode 100755
index 00000000..63ac1af2
--- /dev/null
+++ b/runserv.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+export SDL_VIDEODRIVER=dummy
+ulimit -c 100000000
+while [ true ] ; do
+ src/tmwserv
+
+ for CORE in `ls core*` ; do
+ gdb -batch src/tmwserv $CORE > backtrace-`date +%Y%m%d-%H%M%S`
+ mv $CORE usedcore
+ done
+done
diff --git a/src/main.cpp b/src/main.cpp
index 48191e83..4f31f0c0 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -22,6 +22,7 @@
#include <cstdlib>
#include <getopt.h>
+#include <signal.h>
#include <iostream>
#include <physfs.h>
#include <SDL.h>
@@ -135,6 +136,8 @@ void initialize()
exit(1);
}
+ signal(SIGSEGV, SIG_DFL);
+
// set SDL to quit on exit.
atexit(SDL_Quit);