From 7fba8215aca28d875af492aa384f5867b423bdcb Mon Sep 17 00:00:00 2001 From: Jason Hancock Date: Wed, 15 Aug 2007 18:59:17 +0000 Subject: [PATCH] bug fix --- direct/src/autorestart/autorestart.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/direct/src/autorestart/autorestart.c b/direct/src/autorestart/autorestart.c index e0fc366e9d..3e44b1cec0 100644 --- a/direct/src/autorestart/autorestart.c +++ b/direct/src/autorestart/autorestart.c @@ -303,16 +303,22 @@ do_autorestart() { num_sri++; } else { time_t last = spam_respawn[(sri + 1) % spam_respawn_count]; - if (now - last < spam_respawn_time && !spam_restart_delay_time) { - fprintf(stderr, "respawning too fast, giving up.\n"); - break; - } else { - num_sri = 1; /* reset num_sri */ - fprintf(stderr, "respawning too fast, will sleep for %d seconds.\n", spam_restart_delay_time); - signal (SIGALRM, sigalarm_handler); - alarm(spam_restart_delay_time); - pause(); - signal (SIGALRM, SIG_IGN); + if (now - last < spam_respawn_time) + { + if(!spam_restart_delay_time) + { + fprintf(stderr, "respawning too fast, giving up.\n"); + break; + } + else + { + num_sri = 1; /* reset num_sri */ + fprintf(stderr, "respawning too fast, will sleep for %d seconds.\n", spam_restart_delay_time); + signal (SIGALRM, sigalarm_handler); + alarm(spam_restart_delay_time); + pause(); + signal (SIGALRM, SIG_IGN); + } } } }