(j3.2006) Connecting more than one unit to a file

Van Snyder Van.Snyder
Thu Dec 3 16:03:08 EST 2015


On Thu, 2015-12-03 at 12:41 -0800, Van Snyder wrote:
> On Thu, 2015-12-03 at 20:25 +0000, Lionel, Steve wrote:
> > This was, more or less, my objection to this particular item - I felt
> > it really didn't add much of value other than to make programs that
> > did this processor-dependent rather than nonconforming. I was told
> > that the difference was meaningful to some users - given that I chose
> > to vote for it.
> > 
> > I don't see a value in rescinding the change.
> 
> The value in rescinding it now is that it's not yet in the standard, so
> we won't need to process a raft of interps a few years from now.

For example:

The description of POS= in 9.10.2.22 describes the result value in terms
of the file.  If more than one unit is connected, and "inquire by unit"
is used, wouldn't one want the value for that unit?  9.10.2.17 describes
the NEXTREC= action in terms of "the connection"?  Does that mean it
gives the next record for the file if one uses "inquire by file" and the
next record for the unit if one uses "inquire by unit?"  It should say
so.  The description in 9.10.2.17 for NUMBER= says it returns the number
of the unit connected to the file.  Which unit number?  All the
inquiries for changeable modes have problems related to multiple
connections.  All the inquiries described in terms of "the connection,"
e.g., ACCESS=, have the same problems.

How many more of these obscurities, hidden in places other than the
INQUIRE statement (for example, in DO CONCURRENT) are eventually going
to be interps?

It's better to drive a stake through its heart now.

> 
> > Steve
> > 
> > -----Original Message-----
> > From: j3-bounces at mailman.j3-fortran.org [mailto:j3-bounces at mailman.j3-fortran.org] On Behalf Of Van Snyder
> > Sent: Thursday, December 03, 2015 3:21 PM
> > To: Bill Long <longb at cray.com>
> > Cc: fortran standards email list for J3 <j3 at mailman.j3-fortran.org>
> > Subject: Re: (j3.2006) Connecting more than one unit to a file
> > 
> > The more processor-dependent stuff we add, the less "standard" we have.  
> > 
> > "Processor dependent" means "not standardized."  It militates against portability.
> > 
> > We should rescind the "more than one unit connected to a file" work item because it has too many problems that can only be repaired by adding "processor dependent" in more places.
> > 
> > Vendors can continue to provide it as an extension.
> > 
> > On Fri, 2015-10-30 at 21:07 +0000, Bill Long wrote:
> > > On Oct 30, 2015, at 3:31 PM, Van Snyder <Van.Snyder at jpl.nasa.gov> wrote:
> > > 
> > > > 9.5.4p4 says it is processor dependent whether more than unit can be 
> > > > connected to a file.
> > > > 
> > > > 9.5.6.1p8 prohibits it.
> > > > 
> > > > Since the permission in 9.5.4p4 is new, and is newly remarked in A2, 
> > > > we can assume that not changing the prohibition in 9.5.6.1p8 to a 
> > > > processor dependency was an oversight.
> > > 
> > > Looks that way.  How about changing:
> > > 
> > > "If a file is already connected to a unit, an OPEN statement on that file with a dierent unit shall not be executed."
> > > 
> > > to either nothing (delete the sentence), or
> > > 
> > > ?If a file is already connected to a unit, the effect of executing an 
> > > OPEN statement on that file with a different unit is processor 
> > > dependent.? {And add a line in Annex A}
> > > 
> > > > 
> > > > Assuming we wish to allow multiple units to be connected to a file, 
> > > > do we need further explanation of how nonadvancing and asynchronous 
> > > > output work if they are done simultaneously on more than one unit 
> > > > connected to the same file?
> > > 
> > > We wish to allow vendors to allow this (which some already do).  Beyond that, we didn?t intend to be more specific.  As a practical matter, allowing multiple units (normally one per image) to connect to a file is much simpler if the file is open on all of the units for reading only.  This is operationally similar to multiple independent programs opening the same file for read-only, which has been going on for years.   Coordinating output to the same file is harder.  Vendors are free to prohibit output as part of the ?processor dependent? umbrella.
> > > 
> > > Cheers,
> > > Bill
> > > 
> > > > 
> > > > 
> > > > _______________________________________________
> > > > J3 mailing list
> > > > J3 at mailman.j3-fortran.org
> > > > http://mailman.j3-fortran.org/mailman/listinfo/j3
> > > 
> > > Bill Long                                                                       longb at cray.com
> > > Fortran Technical Support  &                                  voice:  651-605-9024
> > > Bioinformatics Software Development                     fax:  651-605-9142
> > > Cray Inc./ Cray Plaza, Suite 210/ 380 Jackson St./ St. Paul, MN 55101
> > > 
> > > 
> > 
> > 
> > _______________________________________________
> > J3 mailing list
> > J3 at mailman.j3-fortran.org
> > http://mailman.j3-fortran.org/mailman/listinfo/j3
> 
> 
> _______________________________________________
> J3 mailing list
> J3 at mailman.j3-fortran.org
> http://mailman.j3-fortran.org/mailman/listinfo/j3





More information about the J3 mailing list