home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!gatech!darwin.sura.net!spool.mu.edu!olivea!charnel!rat!ucselx!crash!cmkrnl!jeh
- From: jeh@cmkrnl.com
- Newsgroups: comp.os.vms
- Subject: Re: $QIO hangs...
- Message-ID: <1992Dec23.141039.999@cmkrnl.com>
- Date: 23 Dec 92 22:10:39 GMT
- References: <shgr_#n@lynx.unm.edu> <1h9id1INN1c9@gap.caltech.edu>
- Organization: Kernel Mode Consulting, San Diego, CA
- Lines: 39
-
- In article <1h9id1INN1c9@gap.caltech.edu>, carl@SOL1.GPS.CALTECH.EDU
- (Carl J Lydick) writes:
- > In article <shgr_#n@lynx.unm.edu>, dgalb@uranus.unm.edu () writes:
- >>Does anybody know of any reason for a SYS$QIO call to hang???
- >
- > Just a guess (and I'm REALLY not sure about this), but was the process started
- > with the /RESOURCE_WAIT qualifier [or equivalent thereof])? If I understand
- > that qualifier properly, a process so started, if it lacks a resource (e.g., an
- > IRP) necessary to execute a system service, will wait until the resource
- > becomes available (as it would after the preceding QIO completes.
-
- The general principle here is valid but the specific example (of an IRP) is
- not. If there are no free pre-allocated IRPs, *and* if the IRP lookaside list
- can't be extended (no more virtual space, or no free pages), VMS will give you
- an IRP from the regular fragmentable pool.
-
- If free pool space is so scarce that even this is impossible, you'll notice the
- effects long before your program hangs in a $QIO call (the entire system will
- be more or less useless).
-
- But in general -- yes, if the process has used up its ASTLM; or if this is a
- direct I/O operation and the process has used up its DIOLM; or if this is a
- buffered I/O and the process has used up its BIOLM or BYTLM; -- if any of the
- preceding are true, *and* the process has the "resource wait" option enabled,
- then $QIO will hang until the resource needed is freed (by the completion of a
- previously-requested $QIO or, in the case of ASTLM, delivery of the AST).
-
- You can change this via
-
- $ SET PROCESS/NORESOURCE_WAIT
-
- before trying to run the program. The offending $QIO call will then fail with
- SS$_EXQUOTA . I'd try this as a first step toward troubleshooting.
-
- --- Jamie Hanrahan, Kernel Mode Consulting, San Diego CA
- uucp 'g' protocol guru and release coordinator, VMSnet (DECUS uucp) W.G., and
- Chair, Programming and Internals Working Group, U.S. DECUS VMS Systems SIG
- Internet: jeh@cmkrnl.com, hanrahan@eisner.decus.org, or jeh@crash.cts.com
- Uucp: ...{crash,eisner,uunet}!cmkrnl!jeh
-