diff rogue3/main.c @ 212:12e070d1a780

rogue3: replace alarm() calls with a portable function. Calls to alarm() in main.c are replaced with md_start_checkout_timer(), so the #ifdefs around nonportable code can be confined to mdport.c.
author John "Elwin" Edwards
date Fri, 22 Jan 2016 19:19:48 -0500
parents ee250e3646fd
children e5a15b09ce1d
line wrap: on
line diff
--- a/rogue3/main.c	Thu Jan 21 21:10:23 2016 -0500
+++ b/rogue3/main.c	Fri Jan 22 19:19:48 2016 -0500
@@ -374,10 +374,7 @@
 
     if (!author())
     {
-#ifdef SIGALRM
-	signal(SIGALRM, checkout);
-	alarm(CHECKTIME * 60);
-#endif
+	md_start_checkout_timer(CHECKTIME * 60);
 	num_checks = 0;
     }
 
@@ -464,9 +461,6 @@
 	"Last warning.  You have %d minutes to leave",
     };
     int checktime;
-#ifdef SIGALRM
-    signal(SIGALRM, checkout);
-#endif
     if (too_much())
     {
 	if (num_checks >= 3)
@@ -474,9 +468,7 @@
 	checktime = CHECKTIME / (num_checks + 1);
 	if (num_checks < 3)
 		chmsg(msgs[num_checks++], checktime);
-#ifdef SIGALRM
-	alarm(checktime * 60);
-#endif
+	md_start_checkout_timer(checktime * 60);
     }
     else
     {
@@ -485,9 +477,7 @@
 	    chmsg("The load has dropped back down.  You have a reprieve.");
 	    num_checks = 0;
 	}
-#ifdef SIGALRM
-	alarm(CHECKTIME * 60);
-#endif
+	md_start_checkout_timer(CHECKTIME * 60);
     }
 }