fix to runaway cron when time changes
authorBill Joy <root@ucbvax.Berkeley.EDU>
Mon, 6 Jul 1981 10:14:59 +0000 (02:14 -0800)
committerBill Joy <root@ucbvax.Berkeley.EDU>
Mon, 6 Jul 1981 10:14:59 +0000 (02:14 -0800)
SCCS-vsn: usr.sbin/cron/cron.c 4.3

usr/src/usr.sbin/cron/cron.c

index ed66062..422b859 100644 (file)
@@ -61,10 +61,8 @@ main()
                        cp = cmp(cp, loct->tm_mday);
                        cp = cmp(cp, loct->tm_mon);
                        cp = cmp(cp, loct->tm_wday);
                        cp = cmp(cp, loct->tm_mday);
                        cp = cmp(cp, loct->tm_mon);
                        cp = cmp(cp, loct->tm_wday);
-                       if(flag == 0) {
-                               slp();
+                       if(flag == 0)
                                ex(cp);
                                ex(cp);
-                       }
                        while(*cp++ != 0)
                                ;
                }
                        while(*cp++ != 0)
                                ;
                }
@@ -115,6 +113,11 @@ slp()
 
        time(&t);
        i = itime - t;
 
        time(&t);
        i = itime - t;
+       if(i < -60 * 60 || i > 60 * 60) {
+               itime = t;
+               i = 60 - localtime(&itime)->tm_sec;
+               itime += i;
+       }
        if(i > 0)
                sleep(i);
 }
        if(i > 0)
                sleep(i);
 }