Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!cornell!rochester!uhura.cc.rochester.edu!ur-valhalla!micropen!dave From: dave@micropen (David F. Carlson) Newsgroups: comp.unix.wizards Subject: Re: Ultrix tape job is unkillable! Summary: periodic postings Keywords: ultrix tapes Message-ID: <594@micropen> Date: 20 Dec 88 14:03:24 GMT References: <476@larry.UUCP> <732@auspex.UUCP> Organization: Micropen Dirent Writing Systems, Pittsford, NY Lines: 27 In article <732@auspex.UUCP>, guy@auspex.UUCP (Guy Harris) writes: > >Now (besides the obvious, cntl/C to the program), what do I > >do in the future when we have such a hung process? > > Reboot. I suspect the problem may be that an interrupt was lost, or > since it's waiting at a priority less than PZERO, you can't get rid of > > In this particular case, there is arguably a bug in the tape driver; I > don't know how easy it is to fix. Of course, there is a bug. And by the description, the driver is waiting at less than PZERO too. My suggestion, and yes, in my code requirements, is that *ALL* device drivers have a hard reset ioctl that frees every used resource and resets the state of the hardware to a known good state. There is no excuse for the default action of a driver bug (yes, there will be bugs) hanging a process without any hope of salvation. The code is usually already written in for most drivers that have an init() code. Is there any reason to build a device driver without a hard reset? -- David F. Carlson, Micropen, Inc. micropen!dave@ee.rochester.edu "The faster I go, the behinder I get." --Lewis Carroll