Path: utzoo!utgpu!water!watmath!clyde!rutgers!ucla-cs!zen!ucbvax!TAMSIGMA.BITNET!RSD1901 From: RSD1901@TAMSIGMA.BITNET (Shane Davis) Newsgroups: comp.os.vms Subject: AST interrupts and process state Message-ID: <8801121623.AA23046@ucbvax.Berkeley.EDU> Date: 11 Jan 88 21:43:00 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 40 Hello again, In lieu of a VMS Internals book (the one I had been using was borrowed and the one from whom I borrowed it has taken a position elsewhere), I must ask this question of the Info-VAX list. Can a process in Local Event Flag Wait (LEF) state be interrupted by AST's generated by $QIO requests? I do not want to complicate my program by nesting hibernations and am not entirely sure if $WAKEing one hibernation will leave the other pending hibernate intact or if it will wake the process altogether. What I need to do is issue a $QIO to a mailbox and have its AST routine (as given by the astadr parameter to the $QIO) interrupt the process for a short time to let the sender of the mailbox message know that a resource is unavailable while waiting for another QIO read request to a network (EXOS TCP/IP is the software) to complete, signalling that a remote server has been restarted. After the notification of the server restart has been received, the program will then go back into HIB and wait for subsequent requests since the resource is again available. The routine in which all this is happening will also be entered from an AST processing routine that was started while the process was under one $HIBER. Thus, when the server is again reachable, the process should reenter HIB. If I do use $HIBER to wait for the network QIO to complete, will a $WAKE also elimintae the original $HIBER or only the one entered to wait for the network? The approach I'm using now is to use $SYNCH to wait for the network QIO to complete, but writes to the forementioned mailbox must be processed even while waiting for the network resource. So, after all this confusing explanation, I'll restate my main question: can a process waiting for a single event flag be interrupted by AST's? If not, will nested hibernations and wake-ups work? After all this, I will probably just put a flag logical name in LNM$SYSTEM and have it indicate to the mailbox message senders whether the resource is or is not available. Thanks in advance, and I hope you can think straight after my attempt at an explanation of my dilemma. Please send responses to XPMAINT@TAMVENUS.BITNET. --Shane Davis