|
@@ -6,9 +6,20 @@
|
|
|
#include <Globals.h>
|
|
|
#include <sys/resource.h>
|
|
|
#include <Klient.h>
|
|
|
+#include <cstdlib>
|
|
|
+#include <csignal>
|
|
|
|
|
|
#include "Server.h"
|
|
|
|
|
|
+FactoryCraftServer *mserver = 0;
|
|
|
+
|
|
|
+void exit()
|
|
|
+{
|
|
|
+ std::cout << "Der Server wird beendet...\n";
|
|
|
+ if( mserver )
|
|
|
+ mserver->close();
|
|
|
+}
|
|
|
+
|
|
|
int main()
|
|
|
{
|
|
|
struct rlimit core_limits;
|
|
@@ -18,13 +29,13 @@ int main()
|
|
|
Framework::initFramework();
|
|
|
Zeit *z = getZeit();
|
|
|
Text *pfad = new Text( "log/" );
|
|
|
- pfad->append( z->getZeit( "y-m-d h-i-s.log" ) );
|
|
|
+ pfad->append( z->getZeit( "y-m-d_h-i-s.log" ) );
|
|
|
z->release();
|
|
|
DateiPfadErstellen( pfad->getText() );
|
|
|
std::ofstream file;
|
|
|
file.open( pfad->getText() );
|
|
|
std::streambuf *sbuf = std::cout.rdbuf();
|
|
|
- std::cout.rdbuf( file.rdbuf() );
|
|
|
+ //std::cout.rdbuf( file.rdbuf() );
|
|
|
pfad->release();
|
|
|
|
|
|
std::cout << "Startet...\n";
|
|
@@ -35,6 +46,8 @@ int main()
|
|
|
{
|
|
|
std::cout << "error: Datei konnte nicht gelesen werden. Das Programm wird geschlossen.\n";
|
|
|
dat->release();
|
|
|
+ file.close();
|
|
|
+ std::cout.rdbuf( sbuf );
|
|
|
exit( 1 );
|
|
|
}
|
|
|
const char *wichtig[] = { "SSLPort", "SSLCert", "SSLKey", "SSLPasswort" };
|
|
@@ -44,15 +57,23 @@ int main()
|
|
|
{
|
|
|
std::cout << "error: Der Wert '" << w << "' wurde nicht gefunden. Das Programm wird geschlossen.\n";
|
|
|
dat->release();
|
|
|
+ file.close();
|
|
|
+ std::cout.rdbuf( sbuf );
|
|
|
exit( 1 );
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- FactoryCraftServer *mserver = new FactoryCraftServer( dat );
|
|
|
+ mserver = new FactoryCraftServer( dat );
|
|
|
+ std::atexit( exit );
|
|
|
+ signal( SIGTERM, exit );
|
|
|
+ signal( SIGSEGV, exit );
|
|
|
+ signal( SIGILL, exit );
|
|
|
+ signal( SIGABRT, exit );
|
|
|
+ signal( SIGFPE, exit );
|
|
|
+ signal( SIGINT, exit );
|
|
|
|
|
|
std::cout << "Der Server läuft. Startforgang beendet.\n";
|
|
|
mserver->run();
|
|
|
-
|
|
|
mserver->release();
|
|
|
dat->release();
|
|
|
std::cout << "Der Server ist heruntergefahren.\n";
|