home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / os / vms / 19815 < prev    next >
Encoding:
Internet Message Format  |  1992-12-23  |  2.4 KB

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