Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!usc!snorkelwacker!mit-eddie!aryeh From: aryeh@eddie.mit.edu (Aryeh M. Weiss) Newsgroups: comp.unix.xenix Subject: Re: cron Message-ID: <1990Feb10.193851.16968@eddie.mit.edu> Date: 10 Feb 90 19:38:51 GMT References: <2735@umbc3.UMBC.EDU> <269@pallas.UUCP> <22@psmsd.UUCP> <438@egrunix.UUCP> Reply-To: aryeh@eddie.MIT.EDU (Aryeh M. Weiss) Organization: MIT EE/CS Computer Facilities, Cambridge, MA Lines: 13 The problem stems from the fact that cron is a 8086 program. The way cron works is that it computes how long it has until the next job and executes sleep. Unfortunately in the 8086 world the sleep argument is a 16-bit int, which is inadequate if you only have one cron job a day! (24 hours = 86400 seconds) The fix is to run a job every hour, like date, and redirect output to /dev/null (or wherever you like). Like others, I found this out the hard way: I tried sending a SIGALRM to cron, and it woke up executed the next job it has on the queue. The answer hit me like a diamond bullet through my brain. Most people have something running every hour, like uudemon.hr, so this problem is rarely seen. --