UltraRogue: add the autosave feature.
UltraRogue now automatically saves the game when SIGHUP or SIGTERM is received.
This commit is contained in:
parent
8c77aafa62
commit
6c46840eab
4 changed files with 62 additions and 0 deletions
|
|
@ -1271,3 +1271,43 @@ md_readchar(WINDOW *win)
|
|||
|
||||
return(ch & 0x7F);
|
||||
}
|
||||
|
||||
extern void auto_save(int sig);
|
||||
extern void fatal_handler(int sig);
|
||||
extern void quit_handler(int sig);
|
||||
|
||||
void
|
||||
md_onsignal_autosave(void)
|
||||
{
|
||||
#ifdef SIGHUP
|
||||
signal(SIGHUP, auto_save);
|
||||
#endif
|
||||
#ifdef SIGQUIT
|
||||
signal(SIGQUIT, fatal_handler);
|
||||
#endif
|
||||
#ifdef SIGTERM
|
||||
signal(SIGTERM, auto_save);
|
||||
#endif
|
||||
#ifdef SIGINT
|
||||
signal(SIGINT, quit_handler);
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
void
|
||||
md_ignore_signals(void)
|
||||
{
|
||||
#ifdef SIGHUP
|
||||
signal(SIGHUP, SIG_IGN);
|
||||
#endif
|
||||
#ifdef SIGQUIT
|
||||
signal(SIGQUIT, SIG_IGN);
|
||||
#endif
|
||||
#ifdef SIGTERM
|
||||
signal(SIGTERM, SIG_IGN);
|
||||
#endif
|
||||
#ifdef SIGINT
|
||||
signal(SIGINT, SIG_IGN);
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue