MIDRANGE dot COM Mailing List Archive



Home » MIDRANGE-L » March 2014

Re: IFS files open() api



fixed

To expand on what Vern said... the system will always dole out descriptors in sequence. First 0, then 1, then 2, etc.

Thing is, you can't really be sure what other programs that have run in your job might do. Sometimes the OS itself will open up 0-2, so you'll get 3 first.

Plus, who knows what other programs you might run that use these things?

So, you should never code your program in a manner that relies on getting particular descriptor numbers. It shouldn't matter to you whether a descriptor number is 0, 3, 571, or any other number...

-1 is an error. Anything higher than -1 is a valid descriptor, and should be considered acceptable.


On 3/12/2014 5:26 PM, Vernon Hamberg wrote:
Kind of - from the documentation, this about the return value (the file
descriptor)

"/-1/ *open()* was not successful. The /errno/ global variable is set to
indicate the error."

Now the first open file IS always zero - but the first one YOU will see
is either 0 or 3 - the former if you are in a batch environment, the
latter if you are interactive.

This is because, in an interactive environment, the system reserves file
descriptors 0, 1, & 2 for stdin (keyboard), stdout (display), and stderr
(diagnostic/error messages, also to display but separable), respectively.

HTH
Vern

On 3/12/2014 4:40 PM, Gqcy wrote:
will a valid file handle will be ZERO or greater?
(i.e. the FIRST open file will be ZERO)

a error condition is LESS THAN ZERO, correct?








Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2014 by MIDRANGE dot COM and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available here. If you have questions about this, please contact