Author: sobomax
Date: Wed Oct 17 20:45:48 2012
New Revision: 241649
URL: http://svn.freebsd.org/changeset/base/241649

Log:
  Revert latest changes to cron, until better version is worked out (I hope).
  
  Requested by:   few

Modified:
  head/usr.sbin/cron/cron/cron.c
  head/usr.sbin/cron/cron/cron.h
  head/usr.sbin/cron/crontab/crontab.5
  head/usr.sbin/cron/lib/entry.c

Modified: head/usr.sbin/cron/cron/cron.c
==============================================================================
--- head/usr.sbin/cron/cron/cron.c      Wed Oct 17 20:23:07 2012        
(r241648)
+++ head/usr.sbin/cron/cron/cron.c      Wed Oct 17 20:45:48 2012        
(r241649)
@@ -98,7 +98,6 @@ main(argc, argv)
        char    *argv[];
 {
        cron_db database;
-       int runnum;
 
        ProgramName = argv[0];
 
@@ -150,24 +149,21 @@ main(argc, argv)
        load_database(&database);
        run_reboot_jobs(&database);
        cron_sync();
-       runnum = 0;
        while (TRUE) {
 # if DEBUGGING
            /* if (!(DebugFlags & DTEST)) */
 # endif /*DEBUGGING*/
                        cron_sleep(&database);
 
-               if (runnum % 60 == 0)
-                       load_database(&database);
+               load_database(&database);
 
                /* do this iteration
                 */
                cron_tick(&database);
 
-               /* sleep 1 second
+               /* sleep 1 minute
                 */
-               TargetTime += 1;
-               runnum += 1;
+               TargetTime += 60;
        }
 }
 
@@ -198,23 +194,22 @@ cron_tick(db)
        static time_t   diff = 0, /* time difference in seconds from the last 
offset change */
                difflimit = 0; /* end point for the time zone correction */
        struct tm       otztm; /* time in the old time zone */
-       int             otzsecond, otzminute, otzhour, otzdom, otzmonth, otzdow;
+       int             otzminute, otzhour, otzdom, otzmonth, otzdow;
        register struct tm      *tm = localtime(&TargetTime);
-       register int            second, minute, hour, dom, month, dow;
+       register int            minute, hour, dom, month, dow;
        register user           *u;
        register entry          *e;
 
        /* make 0-based values out of these so we can use them as indicies
         */
-       second = tm->tm_sec -FIRST_SECOND;
        minute = tm->tm_min -FIRST_MINUTE;
        hour = tm->tm_hour -FIRST_HOUR;
        dom = tm->tm_mday -FIRST_DOM;
        month = tm->tm_mon +1 /* 0..11 -> 1..12 */ -FIRST_MONTH;
        dow = tm->tm_wday -FIRST_DOW;
 
-       Debug(DSCH, ("[%d] tick(%d,%d,%d,%d,%d,%d)\n",
-               getpid(), second, minute, hour, dom, month, dow))
+       Debug(DSCH, ("[%d] tick(%d,%d,%d,%d,%d)\n",
+               getpid(), minute, hour, dom, month, dow))
 
        if (dst_enabled && last_time != 0 
        && TargetTime > last_time /* exclude stepping back */
@@ -267,7 +262,6 @@ cron_tick(db)
 
                        /* make 0-based values out of these so we can use them 
as indicies
                         */
-                       otzsecond = otztm.tm_sec -FIRST_SECOND;
                        otzminute = otztm.tm_min -FIRST_MINUTE;
                        otzhour = otztm.tm_hour -FIRST_HOUR;
                        otzdom = otztm.tm_mday -FIRST_DOM;
@@ -289,8 +283,7 @@ cron_tick(db)
                                          e->uid, e->gid, e->cmd))
 
                        if ( diff != 0 && (e->flags & (RUN_AT|NOT_UNTIL)) ) {
-                               if (bit_test(e->second, otzsecond)
-                                && bit_test(e->minute, otzminute)
+                               if (bit_test(e->minute, otzminute)
                                 && bit_test(e->hour, otzhour)
                                 && bit_test(e->month, otzmonth)
                                 && ( ((e->flags & DOM_STAR) || (e->flags & 
DOW_STAR))
@@ -309,8 +302,7 @@ cron_tick(db)
                                        continue;
                        }
 
-                       if (bit_test(e->second, second)
-                        && bit_test(e->minute, minute)
+                       if (bit_test(e->minute, minute)
                         && bit_test(e->hour, hour)
                         && bit_test(e->month, month)
                         && ( ((e->flags & DOM_STAR) || (e->flags & DOW_STAR))

Modified: head/usr.sbin/cron/cron/cron.h
==============================================================================
--- head/usr.sbin/cron/cron/cron.h      Wed Oct 17 20:23:07 2012        
(r241648)
+++ head/usr.sbin/cron/cron/cron.h      Wed Oct 17 20:45:48 2012        
(r241649)
@@ -124,10 +124,6 @@
                         LineNumber = ln; \
                        }
 
-#define        FIRST_SECOND    0
-#define        LAST_SECOND     59
-#define        SECOND_COUNT    (LAST_SECOND - FIRST_SECOND + 1)
-
 #define        FIRST_MINUTE    0
 #define        LAST_MINUTE     59
 #define        MINUTE_COUNT    (LAST_MINUTE - FIRST_MINUTE + 1)
@@ -169,7 +165,6 @@ typedef     struct _entry {
 #endif
        char            **envp;
        char            *cmd;
-       bitstr_t        bit_decl(second, SECOND_COUNT);
        bitstr_t        bit_decl(minute, MINUTE_COUNT);
        bitstr_t        bit_decl(hour,   HOUR_COUNT);
        bitstr_t        bit_decl(dom,    DOM_COUNT);
@@ -181,6 +176,7 @@ typedef     struct _entry {
 #define        WHEN_REBOOT     0x04
 #define        RUN_AT  0x08
 #define        NOT_UNTIL       0x10
+#define        SECONDS_COUNT   0x20
        time_t  lastrun;
 } entry;
 

Modified: head/usr.sbin/cron/crontab/crontab.5
==============================================================================
--- head/usr.sbin/cron/crontab/crontab.5        Wed Oct 17 20:23:07 2012        
(r241648)
+++ head/usr.sbin/cron/crontab/crontab.5        Wed Oct 17 20:45:48 2012        
(r241649)
@@ -232,8 +232,6 @@ string              meaning
 @daily         Run once a day, "0 0 * * *".
 @midnight      (same as @daily)
 @hourly                Run once an hour, "0 * * * *".
-@every_minute  Run once a minute, "*/1 * * * *".
-@every_second  Run once a second.
 .Ed
 .Sh EXAMPLE CRON FILE
 .Bd -literal

Modified: head/usr.sbin/cron/lib/entry.c
==============================================================================
--- head/usr.sbin/cron/lib/entry.c      Wed Oct 17 20:23:07 2012        
(r241648)
+++ head/usr.sbin/cron/lib/entry.c      Wed Oct 17 20:45:48 2012        
(r241649)
@@ -151,7 +151,6 @@ load_entry(file, error_func, pw, envp)
                        e->flags |= WHEN_REBOOT;
                } else if (!strcmp("yearly", cmd) || !strcmp("annually", cmd)){
                        Debug(DPARS, ("load_entry()...yearly shortcut\n"))
-                       bit_set(e->second, 0);
                        bit_set(e->minute, 0);
                        bit_set(e->hour, 0);
                        bit_set(e->dom, 0);
@@ -160,7 +159,6 @@ load_entry(file, error_func, pw, envp)
                        e->flags |= DOW_STAR;
                } else if (!strcmp("monthly", cmd)) {
                        Debug(DPARS, ("load_entry()...monthly shortcut\n"))
-                       bit_set(e->second, 0);
                        bit_set(e->minute, 0);
                        bit_set(e->hour, 0);
                        bit_set(e->dom, 0);
@@ -169,7 +167,6 @@ load_entry(file, error_func, pw, envp)
                        e->flags |= DOW_STAR;
                } else if (!strcmp("weekly", cmd)) {
                        Debug(DPARS, ("load_entry()...weekly shortcut\n"))
-                       bit_set(e->second, 0);
                        bit_set(e->minute, 0);
                        bit_set(e->hour, 0);
                        bit_nset(e->dom, 0, (LAST_DOM-FIRST_DOM+1));
@@ -178,7 +175,6 @@ load_entry(file, error_func, pw, envp)
                        bit_set(e->dow, 0);
                } else if (!strcmp("daily", cmd) || !strcmp("midnight", cmd)) {
                        Debug(DPARS, ("load_entry()...daily shortcut\n"))
-                       bit_set(e->second, 0);
                        bit_set(e->minute, 0);
                        bit_set(e->hour, 0);
                        bit_nset(e->dom, 0, (LAST_DOM-FIRST_DOM+1));
@@ -186,27 +182,11 @@ load_entry(file, error_func, pw, envp)
                        bit_nset(e->dow, 0, (LAST_DOW-FIRST_DOW+1));
                } else if (!strcmp("hourly", cmd)) {
                        Debug(DPARS, ("load_entry()...hourly shortcut\n"))
-                       bit_set(e->second, 0);
                        bit_set(e->minute, 0);
                        bit_nset(e->hour, 0, (LAST_HOUR-FIRST_HOUR+1));
                        bit_nset(e->dom, 0, (LAST_DOM-FIRST_DOM+1));
                        bit_nset(e->month, 0, (LAST_MONTH-FIRST_MONTH+1));
                        bit_nset(e->dow, 0, (LAST_DOW-FIRST_DOW+1));
-               } else if (!strcmp("every_minute", cmd)) {
-                       Debug(DPARS, ("load_entry()...every_minute shortcut\n"))
-                       bit_set(e->second, 0);
-                       bit_nset(e->minute, 0, (LAST_MINUTE-FIRST_MINUTE+1));
-                       bit_nset(e->hour, 0, (LAST_HOUR-FIRST_HOUR+1));
-                       bit_nset(e->dom, 0, (LAST_DOM-FIRST_DOM+1));
-                       bit_nset(e->month, 0, (LAST_MONTH-FIRST_MONTH+1));
-                       bit_nset(e->dow, 0, (LAST_DOW-FIRST_DOW+1));
-               } else if (!strcmp("every_second", cmd)) {
-                       Debug(DPARS, ("load_entry()...every_second shortcut\n"))
-                       bit_nset(e->second, 0, (LAST_SECOND-FIRST_SECOND+1));
-                       bit_nset(e->minute, 0, (LAST_MINUTE-FIRST_MINUTE+1));
-                       bit_nset(e->hour, 0, (LAST_HOUR-FIRST_HOUR+1));
-                       bit_nset(e->dom, 0, (LAST_DOM-FIRST_DOM+1));
-                       bit_nset(e->month, 0, (LAST_MONTH-FIRST_MONTH+1));
                        bit_nset(e->dow, 0, (LAST_DOW-FIRST_DOW+1));
                } else {
                        ecode = e_timespec;
@@ -222,7 +202,6 @@ load_entry(file, error_func, pw, envp)
                }
        } else {
                Debug(DPARS, ("load_entry()...about to parse numerics\n"))
-               bit_set(e->second, 0);
 
                ch = get_list(e->minute, FIRST_MINUTE, LAST_MINUTE,
                              PPC_NULL, ch, file);
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to