15 void Threads::startMapBackupThread(){
16 Game::log("Starting Map Backup Thread");
18 pthread_create(&thread_id, NULL, &mapBackupThread, NULL);
20 void *Threads::mapBackupThread(void *unused){
22 sleep(MAP_BACKUP_INTERVAL);
27 void Threads::startGraphicUpdateThread(){
28 Game::log("Starting Graphic Update Thread");
30 pthread_create(&thread_id, NULL, &graphicUpdateThread, NULL);
32 void *Threads::graphicUpdateThread(void *unused){
40 void Threads::addSignalHandlers(){
42 struct sigaction sa_sigterm;
43 sa_sigterm.sa_handler = &signal_handler;
44 sigaction(SIGTERM, &sa_sigterm, NULL);
46 struct sigaction sa_sigint;
47 sa_sigint.sa_handler = &signal_handler;
48 sigaction(SIGINT, &sa_sigint, NULL);
51 void Threads::signal_handler(int signal_number){
53 Game::log((string)"Got "+sys_siglist[signal_number]+" Signal, Exiting.");