On Thu, Jul 8, 2010 at 9:38 AM, <[email protected]> wrote: > On 07/08/10 02:32, Denys Vlasenko wrote: >> >> On Wednesday 07 July 2010 09:02, [email protected] wrote: >>> >>> On 07/07/10 01:29, Denys Vlasenko wrote: >>>>>> >>>>>> Indeed console output now shows I am getting both the "env DELAY=16 " >>>>>> crontab and the original without a delay which is now commented out >>>>>> with >>>>>> a #. >>>> >>>> This could be a bug. Please describe in more detail. >>>> >>>>>> It seems it has read in the new line but not dropped the old one that >>>>>> is >>>>>> not longer in crontabs. >>>>>> >>>>>> Is this expected behaviour? >>>> >>>> No. >>>> >>> >>> This happened before I realised how long it took crond to reread >>> crontabs. At one point I had console output Which had two versions being >>> triggered. >> >> Can you be more specific? What was in old cromtab? In new crontab? >> How did you see both entries running - ps? If yes, what >> exactly it shows? >> >> IOW, can I have a _proper_ bug report please? >> > > I'll re-add the line you clipped off my last post. > >>> I'll try to reproduce. > > The implication of that was that I recognise I don't have enough precise > information to give you and I need to get a reproducible bug. That is also > why the title began with "possible". > > I saw crond printing the commands being triggered on console showing both > old an new lines from that same crontab file. Maybe I made a change just > about the time it did it's hourly update. > > Leave this as NEEDS MORE INFO for now.
Yes, the bug is definitely there. I added the comment about it in crond.c: /* * delete_cronfile() - delete user database * * Note: multiple entries for same user may exist if we were unable to * completely delete a database due to running processes. */ //FIXME: we will start a new job even if the old job is running //if crontab was reloaded: crond thinks that "new" job is different from "old" //even if they are in fact completely the same. Example //Crontab was: // 0-59 * * * job1 // 0-59 * * * long_running_job2 //User edits crontab to: // 0-59 * * * job1_updated // 0-59 * * * long_running_job2 //Bug: crond can now start another long_running_job2 even if old one //is still running. -- vda _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
