https://bugzilla.novell.com/show_bug.cgi?id=668486 https://bugzilla.novell.com/show_bug.cgi?id=668486#c0 Summary: at does not perform tasks to a time in the past in the future (tomorrow) properly Classification: openSUSE Product: openSUSE 11.3 Version: Final Platform: Other OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: Other AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: aburgemeister@novell.com QAContact: qa@suse.de CC: bob@muhlenberg.edu, malcolm_lewis@bellsouth.net Found By: Customer Services Priority: 300 Blocker: --- +++ This bug was initially created as a clone of Bug #668485 +++ [Cloned for OpenSUSE 11.3] OpenSUSE 11.3 at 3.1.8 http://forums.novell.com/showthread.php?t=431213 A customer noticed that when setting their 'at' jobs to run at a time (no date specified) in the past as shown below, they would see the jobs scheduled to run in the past when running 'atq': <quote> nts105:~ # echo 'sleep 30;touch /tmp/testat-`date +%s`' | at 16:11 + 1 minute warning: commands will be executed using /bin/sh job 5 at 2011-01-31 16:12 nts105:~ # date Mon Jan 31 16:14:35 MST 2011 nts105:~ # atq 5 2011-01-31 16:12 = root </quote> Notice that despite the job being scheduled in the past it was not pushed forward to the same time tomorrow. It turns out that jobs specified in this way actually run immediately (this one shows up in the 'atq' output because of the thirty-second 'sleep' imposed delay, if atq is run within thirty seconds) but that is still not what is desired in the end. It makes the most sense for a job being scheduled at a time (even with an increment as in this case) that has already passed today to actually be scheduled for tomorrow. This works properly when a time ONLY (no increment after it) is specified. Considering the relatively low risk of this change (pretty obscure, SUSE doesn't enable 'at' by default, makes it more like how FreeBSD does things, possibly even used to work this way) it would be nice to have this implemented before the next SPs of the SLE product are released. This applies to OpenSUSE 11.3, SLES 11 SP1, and SLES 10 SP3. I'll clone these for the other builds. One of our Knowledge Partners has created a test build within the OpenSUSE Build Service (OBS) that partially solves the problem, though it also seems to break 'now' as the intended time, causing it to run at the same time as 'now' but tomorrow. The link for that build's code follows: https://build.opensuse.org/package/view_file?file=at-3.1.8-fix-current-time-error.patch&package=at&project=home%3Amalcolmlewis%3ATesting&srcmd5=101aeb2d648196ef88f7b2d35cb10a25 Changing the code one more time to have: <code file="parsetime.y" line="378"> if (currtime > exectime) { </code> replaced with: <code file="parsetime.y" line="378"> if (currtime > exectime + 1) { </code> would probably resolve that issue. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.