Ultrix tape job is unkillable!

David F. Carlson dave at micropen
Wed Dec 21 00:03:24 AEST 1988


In article <732 at auspex.UUCP>, guy at 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 at ee.rochester.edu

"The faster I go, the behinder I get." --Lewis Carroll



More information about the Comp.unix.wizards mailing list