Date: Sun, 21 Jan 2001 15:32:56 -0800 (PST) From: Matt Dillon <dillon@earth.backplane.com> To: Sergey Babkin <babkin@bellatlantic.net> Cc: Greg Black <gjb@gbch.net>, Neil Blakey-Milner <nbm@mithrandr.moria.org>, John Gregor <johng@vieo.com>, Gerhard.Sittig@gmx.net, leifn@neland.dk, freebsd-hackers@FreeBSD.ORG Subject: Re: how to test out cron.c changes? (was: cvs commit: src/etc crontab) Message-ID: <200101212332.f0LNWun16287@earth.backplane.com> References: <200101140244.f0E2i3518278@vieo.com> <3A621ABF.FA2C6432@bellatlantic.net> <200101142155.f0ELtLO64117@earth.backplane.com> <3A6A059C.486F6237@bellatlantic.net> <20010120235412.A42508@rapier.smartspace.co.za> <3A6B3D85.9773C9ED@bellatlantic.net> <nospam-3a6b44dfe00a3f3@maxim.gbch.net> <3A6B68E9.278A6BBB@bellatlantic.net>
next in thread | previous in thread | raw e-mail | index | archive | help
The problem here has nothing to do with whether changing the behavior is good or bad, and everything to do with the fact that cron is an absolutely critical core piece of software that runs on these machines and there is no guarentee that you haven't introduced one or many bugs with your rather large diff set. For better or for worse, people already know about the daylight savings shift problem. Thousands of people depend on cron to work, which means that when you make a major change like this it must be tested by a wider audience for a longer time before becoming the default. It needs to have some real-life operational experience behind it. So I have to say here that I agree with the calls to back it out... it needs to backed out, and then put back in as a command line option. Or you need to commit the command line option code ASAP and make the old behavior the default. Judging by the diffs, it should not be difficult for you to do this. Also, I've already found a problem with the code: + /* check for the daylight saving time change + * we support only change by +-1 hour happening at :00 minutes, + * those living in more strange timezones are out of luck + */ + if (last_time != 0 && tm->tm_isdst != lasttm.tm_isdst + && TargetTime > last_time /* exclude stepping back */) { This is broken. If you want to check for a DLS change there is only one right way to do it, and that is to compare the wall clock differential verses the GMT differential, and to not put in any silly restrictions like the change having to occur at the top of the hour or be a +-1 hour increment. I would rather see the code ripped completely out then to have a semi-broken DLS test. -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200101212332.f0LNWun16287>