Another file handles question/comment

Donn Terry donn at hpfcdc.HP.COM
Mon Aug 28 05:06:32 AEST 1989


From: donn at hpfcdc.HP.COM (Donn Terry)


To answer Barry Traylor's questions simply:

The onus is on BOTH the implementation and the application.

First, remember that in this case "application" and "process" are disctinct
things.  In particular, an application can consist of several processes,
not all of which were written by the application writer (e.g., system 
utilities such as grep).

The *application* is constrained so that to conform to POSIX only one
file handle for a file is in use at a time, across ALL processes in the 
application, and that hand-off of file handles be done as required.

The *implementation* is constrained so that if the application follows
this rule, it will in fact work.  (Note that pre-POSIX implementations
didn't do enough so that the application had a chance at all of making
it work.)

I think that some of the confusion comes from trying to make it 
exclusively one or the other's total responsibility.  In the rationale
it says that the rules are stated so that the application has "a fighting
chance" of doing this, not that it will work in every possible combination.

If this doesn't help then let's (on the net) look at it in more detail.

Donn Terry
(not speaking in any 'official' way)

Volume-Number: Volume 17, Number 11



More information about the Comp.std.unix mailing list