Article 155561 of comp.os.vms: In article <51u39j$ij6@nntpd.lkg.dec.com>, everhart@star.enet.dec.com (Glenn C. Everhart) writes: > > Aside from the nodelete bit, it's also useful to be able to set or clear > the forcex-pending and delete pending bits. (Following line clears them:) > > bicl #,pcb$l_sts(r8) > > (presuming R8 is a PCB pointer of course). > > The PRCARMOR utility I put on the S96 sigtapes can do this. Won't unwedge > you every time...pending I/O still prevents process deletion, for example, > but it's occasionally helpful. > > The name is of course about putting "armor" on a process, or taking it off. What! Everyone's wanting to do this today! %) Ok. Here's my classic "do it with DEC supplied utility" answer. $ ANALYZE/SYSTEM SDA> SHOW SUMMARY ! locate process of interest, note its index SDA> SET PROCESS/INDEX= SDA> READ SYS$SYSTEM:SYSDEF (On VAX) SDA> READ SYS$LOADABLE_IMAGES:SYSDEF (On Alpha) SDA> EVALUATE PCB+PCB$L_STS Hex = <########> SDA> SPAWN RUN SYS$SHARE:DELTA !no prompting from here on 1;M 00010001:########/xxxxxxxx yyyyyyyy exit SDA> EXIT xxxxxxxx is the hex value of the status bits in the PCB yyyyyyyy is the hex value of the status bits in the PCB sans NODELET PCB$M_NODELET bit it 00800000 yyyyyyyy = xxxxxxxx .and. (.not. 00800000) Setting the PCB$M_NODELET bit can have some nasty side effects if the process is running (say detached) and encounters an unhandled exception. Strange nasty things happen when that SYS$EXIT is in- voked in Kmode with this bit set! I'd suggest that if you intend to set this bit, you'd better setup a Kmode exception handler and/ or a Kmode rundown handler to zap this bit or you'll be sorry! If the code that is running never sees user mode I have a real neat trick for handling this... See me layta if this is the case. -- VAXman- For without are dogs, and sorcerers, and whoremongers, and murderers, and idolaters, and whosoever loveth and maketh a lie. (Revelation)