[mod.computers.vax] INACTIVE kills disconnected processes

blinn@furilo.DEC.COM (Dr. Tom @ MRO3-3 pole T14, 297-5562) (11/13/86)

XRAYOLLE@SEMAX51.BITNET writes

>        Disconnect dosen't work!
> 
>        There is something fishy about Disconnect, it doesn't hibernate
>        the disconnected process as is should which leads to some tire-
>        some consequenses. For instance the INACTIVE-Daemon removes
>        disconnected processes when it's activated every 10 minutes or
>        so. Or in other words, Disconnect doesn't work on systems where
>        INACTIVE is running.
> 
>        If anyone should wonder; INACTIVE is a daemon process that removes
>        inactive (nonhibernating) processes/users after a predefined time,
>        say 10 minutes. I.e. INACTIVE is activated every 10 minutes.

Let us examine this from another perspective :^) ...

        INACTIVE doesn't work (correctly)! 

        There is something fishy about INACTIVE, it doesn't correctly
        recognize a "disconnected" process as it should which leads to
        some tiresome consequences.  For instance, the INACTIVE-Daemon
        removes disconnected processes when it's activated.  Or, in other
        words, INACTIVE doesn't work (well) on systems where "disconnect"
        is allowed. 

I don't know (and quite honestly don't care) where you got INACTIVE, but
it's not supplied or supported by Digital Equipment Corporation.  I agree
that if it were a side effect of disconnecting a virtual terminal from a
physical terminal that the process owning the virtual terminal hibernated,
then INACTIVE would do what you want it to do (since, according to your
description, it skips over hibernating processes). However, that's not what
"disconnect" is supposed to do, and it's not documented anywhere that it
will do it.  In fact, if you read the documentation of the CONNECT and
DISCONNECT commands in the DCL Dictionary (volume 2 in the V4.4 document
set), you'll see very clearly that the process connected to the virtual
terminal is allowed to continue execution until such time as it requires
input from the physical terminal, or attempts to do output to it (and any
terminal input buffers are empty or output buffers are full, respectively). 

May I humbly suggest that you fix INACTIVE to also ignore processes for
which the virtual terminal is no longer connected to the physical terminal?
This will accomplish the goal you desire, without impacting anyone who
expects virtual terminals to function as documented. 

Cordially yours,

Tom Blinn