From:	CRDGW2::CRDGW2::MRGATE::"SMTP::CRVAX.SRI.COM::RELAY-INFO-VAX" 23-JUN-1989 22:02
To:	MRGATE::"ARISIA::EVERHART"
Subj:	Re: How to survive STOP/ID (for a while)?

Received: From KL.SRI.COM by CRVAX.SRI.COM with TCP; Fri, 23 JUN 89 13:15:44 PDT
Received: from ucbvax.Berkeley.EDU by KL.SRI.COM with TCP; Fri, 23 Jun 89 12:50:48 PDT
Received: by ucbvax.Berkeley.EDU (5.61/1.37)
	id AA20066; Fri, 23 Jun 89 12:43:48 -0700
Received: from USENET by ucbvax.Berkeley.EDU with netnews
	for info-vax@kl.sri.com (info-vax@kl.sri.com)
	(contact usenet@ucbvax.Berkeley.EDU if you have questions)
Date: 23 Jun 89 19:28:51 GMT
From: dino!atanasoff!hascall@uunet.uu.net  (John Hascall)
Organization: Iowa State Univ. Computation Center
Subject: Re: How to survive STOP/ID (for a while)?
Message-Id: <1138@atanasoff.cs.iastate.edu>
References: <8906231712.AA12115@ucbvax.Berkeley.EDU>
Sender: info-vax-request@kl.sri.com
To: info-vax@kl.sri.com

In article <8906231712.AA12115@ucbvax.Berkeley.EDU> LEICHTER@VENUS.YCC.YALE.EDU ("Jerry Leichter ", LEICHTER-JERRY@CS.YALE.EDU) writes:
 
>	   Is there any way for a user mode image to be able to survive a
>	   STOP/ID- command?  
 
    [...processes deleted with an AST and why $SETAST won't work...]

>In any case, these are specialized solutions that require heavy privilege and
>a good understanding of how inner-code mode must be written.  Bugs in such
>code are almost certain to crash the system....  Besides, they don't solve the
>problem the original poster possed:  He didn't want to block process deletion,
>he wanted to be informed when it was about to happen and get a short respite
>so he could clean up a database and exit.  If he were to try to use these
>techniques, he would have to keep his process undeletable from the beginning
>to end of every transaction.  I suspect in practice this would mean "most of
>the time", and manipulating priority and AST state are only intended for
>short-term use.
>							-- Jerry

    There are some hooks in the internals which could be used to implement
    the requested mechanism, but as noted above, they are not for novices.

    One possible scenario is to build an IRP (I/O request packet) which
    specifies a kernel routine rather than a PID for I/O post processing
    and hang it off of one of the processes I/O channels using the
    deaccess I/O mechanism pointer (CCB$L_DIRP).  There are probably even
    less bizarre methods. :-)

    Of course, any method will surely require privileges to accomplish,
    CMEXEC at the least.


John Hascall  /  ISU Comp Center  /  Ames IA

