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