comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: Logical Unit mystery; clarification
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: Logical Unit mystery; clarification [message #7479 is a reply to message #7460] Sat, 16 November 1996 00:00 Go to previous message
davidf is currently offline  davidf
Messages: 2866
Registered: September 1996
Senior Member
Russ Welti <rwelti@mapper.mbt.washington.edu> writes:

> At one point in my IDL program, as I do one of many SAVEs and RESTOREs,
> I get:
>
> RESTORE: All available logical units are currently in use.
>
> But a subsequent HELP,/FILES shows only my expected 1 log file open!
>
> IDL> help,/files
> Unit Attributes Name
> 100 Read, Write, Append /u/rwelti/dev/sage/log.ostrandr
>
>
> And, if I do a CLOSE,/ALL at error point above, the RESTORE can be done OK.

I don't know exactly why this is happening, but I wouldn't be surprised if
the RSI programmer fell into the same trap I have fallen into numerous
times in my own programs.

There are two pools of logical unit numbers you can use. The pool of
numbers from 1-99, which you can use directly, and the pool of numbers
from 100-128 that IDL manages with the GET_LUN procedure or keyword.

If you choose a LUN from the user pool (e.g., 4), then you are suppose
to close the file and free up the LUN by using the CLOSE command:

OPENR, 4, file
...
CLOSE, 4

If you let IDL choose a LUN from its pool, you are suppose to close the
file and free the LUN to be used over again with the FREE_LUN command.

OPENR, lun, file, /GET_LUN
...
FREE_LUN, lun

What I have been guilty of many times, is using the CLOSE command
with a LUN from IDL's pool. Like this:

OPENR, lun, file, /GET_LUN
...
CLOSE, lun

This closes the file, but it doesn't free up the logical unit number to
be used over again. I think this is exactly what is happening with
your RESTORE problem. After a time, you run out of LUNs.

Fortunately, the ALL keyword to the CLOSE command closes not
only all the files, but it does an additional *freeing* of the LUNs
managed by IDL. That's why your program works again.

David

*************************************************
* David Fanning, Ph.D.
* 2642 Bradbury Court, Fort Collins, CO 80521
* Phone: 970-221-0438 Fax: 970-221-4762
* E-Mail: davidf@dfanning.com
*
* Sometimes I go about pitying myself, and all along my
* soul is being blown by great winds across the sky.
* -- Ojibway saying
************************************************
[Message index]
 
Read Message
Read Message
Previous Topic: Overplot on eastern US
Next Topic: >>> ARE YOU READY FOR LOVE? <<<

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sat Oct 11 11:51:37 PDT 2025

Total time taken to generate the page: 0.71688 seconds