Re: Runaway cron task on 2.5.63/4 bk?

Andrew Morton
2003-03-09T08:06:09Z

Andrew Morton <akpm@digeo.com> wrote:
>
> errr, OK. This returns -EINVAL:
>
> #include <time.h>
>
> main()
> {
> struct timespec req;
> struct timespec rem;
> int ret;
>
> req.tv_sec = 5000000;
> req.tv_nsec = 0;
>
> ret = nanosleep(&req, &rem);
> if (ret)
> perror("nanosleep");
> }
>

OK, I give up.

/*
* This is a considered response, not exactly in
* line with the standard (in fact it is silent on
* possible overflows). We assume such a large
* value is ALMOST always a programming error and
* try not to compound it by setting a really dumb
* value.
*/
return -EINVAL;

George, RH7.3 and RH8.0 cron daemons are triggering this (trying to sleep
for 4,500,000 seconds) and it causes them to go into a busy loop.

I think we need to just sleep for as long as we can and return an
appropriate partial result.