Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!mailrus!ncar!hao!hull From: hull@hao.ucar.edu (Howard Hull) Newsgroups: comp.sys.amiga Subject: Re: Lattice C 5.04 bug Message-ID: <5647@ncar.ucar.edu> Date: 12 Dec 89 00:47:49 GMT References: <828@wet.UUCP> <12147@cbnewsc.ATT.COM> Sender: news@ncar.ucar.edu Reply-To: hull@hao.UCAR.EDU (Howard Hull) Organization: High Altitude Observatory/NCAR, Boulder CO Lines: 27 In article bader+@andrew.cmu.edu (Miles Bader) writes: >I was under the impression that "Delay" was a pretty nasty thing to use, that >it stopped the whole system dead while it was delaying or something. >Whatever the reason, I remember seeing posts to the effect of "Don't use >Delay." Anyone remember why? > >-Miles Well, I don't think the Delay() function busywaits (as you've implied), but it will totally cream the system if called with a zero argument. Now it might seem a simple thing to just check your args before the call. But I have a program which is unlikely to ever furnish a zero argument for a Delay() call (the argument may be switched among four positive real integer values by means of an Intuition Menu Item) and it nonetheless will eventually cream things real good if run a very long time with a bunch of other stuff. The probability is quite low - but it's not nearly low enough! Symptoms most usually wailed about are that the DOS will fail to finish updating the root directory of a floppy disk in a fashion that renders track 40 unreadable. This is a disaster, since DiskDoctor cannot in any way deal with volumes that have no root block (DOS cannot even "discover" that the bitmap is invalid, either, since there's no pointer to the bitmap). There is only one program I've seen that seems to deal with this not totally infrequent condition. The program was distibuted on the net, and is called FixDisk. FixDisk is a freeware contribution from Werner Gunther. Everyone needs to have it handy, because the day _will_ come... Howard Hull hull@ncar.ucar.edu