From: "Robert I. Eachus" <rieachus@attbi.com>
Subject: Re: Config_Files proposal
Date: Fri, 21 Jun 2002 20:04:30 GMT
Date: 2002-06-21T20:04:30+00:00 [thread overview]
Message-ID: <3D138728.9030605@attbi.com> (raw)
In-Reply-To: u8z5bw2on.fsf@gsfc.nasa.gov
Stephen Leake wrote:
> Well, I posted those a couple weeks ago, so I thought we did that. It
> did not stimulate much discussion of the specific requirements or
> package spec; all of the discussion was on the file format.
Ah, what was missing was not your draft requirements and interface, what
was missing was the debate about the requirements. That is finally
starting to show up, so let me weigh in on the concurrent access issue. ;-)
There are really two separate sets of concerns here. First, an
application which expects users to edit the config file implicitly
during program installation. Later edits will be with a text editor, or
a separate program that changes the config data. For such uses, the
semantics are pretty simple. The program checks a potentially multiple
set of config at initialization time, changes nothing, and edits while
the program is running can either be left implementation dependent, or
defined to be not seen.
A program which is going to change its config attributes during
operation is a horse of a different color. As I see it, the three
choices are:
1) Opening the config for writing means that other instances of the
program, or other programs that use the same file must either die with
some reasonable behavior, or connect somehow to the first running
instance. Defining how to do the latter is well beyond the scope here.
2) A program which can change the config file is required to follow a
standard protocol. An example would be:
a) If the config data is changed, the program uses a locking
protocol of some sort to insure that there are no race conditions. (For
example, under Windows opening the file before the change works.) The
important thing from the specification view here is that the attempt to
change a value or values can fail. Whether the user view is an explicit
transaction protocol, or a multiple change commit protocol that can
raise an exception is a detailed design decision. (Although I favor the
latter, with an exception occurance string that should be meaningful to
the actual end user.)
b) If the config file is changed by some other program or some
other instance, the program will check for changes at defined points.
Of course, these points will be defined by the program, but a good
starting point would be to always check for changes before creating a
new window or a new file, and of course before changing any config
parameters.
c) If the program "rolls up" a set of config data from several
locations, all values inherited from files other than the last will not
be checked for changes while the program is running. If you have 27
files in the config path, only the last will be modified, or checked for
changes while the program is running.
3) Chaos.
next prev parent reply other threads:[~2002-06-21 20:04 UTC|newest]
Thread overview: 132+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-06-18 17:07 Config_Files proposal Stephen Leake
2002-06-18 21:55 ` Darren New
2002-06-19 16:11 ` Stephen Leake
2002-06-19 16:51 ` Darren New
2002-06-19 18:39 ` Stephen Leake
2002-06-19 19:48 ` Darren New
2002-06-20 14:03 ` Stephen Leake
2002-06-20 16:36 ` Darren New
2002-06-20 17:49 ` Jacob Sparre Andersen
2002-06-20 20:00 ` Stephen Leake
2002-06-20 20:16 ` Darren New
2002-06-20 20:45 ` Stephen Leake
2002-06-21 2:06 ` Ted Dennison
2002-06-21 12:55 ` Marin David Condic
2002-06-24 13:20 ` Stephen Leake
2002-06-21 15:29 ` Darren New
2002-06-24 13:16 ` Stephen Leake
2002-06-24 15:06 ` Darren New
2002-06-24 17:09 ` Stephen Leake
2002-06-24 17:57 ` Darren New
2002-06-24 18:53 ` Stephen Leake
2002-06-24 21:24 ` Darren New
2002-06-29 3:15 ` Ted Dennison
2002-06-28 23:21 ` Randy Brukardt
2002-06-29 3:01 ` Ted Dennison
2002-07-01 20:58 ` Randy Brukardt
2002-07-02 0:31 ` Ted Dennison
2002-07-02 4:43 ` Randy Brukardt
2002-07-05 21:51 ` Robert I. Eachus
2002-06-20 19:54 ` Stephen Leake
2002-06-19 6:53 ` Dr. Michael Paus
2002-06-19 15:18 ` Ted Dennison
2002-06-19 15:08 ` Ted Dennison
2002-06-19 16:18 ` Robert I. Eachus
2002-06-19 16:53 ` Darren New
2002-06-19 18:22 ` Stephen Leake
2002-06-20 13:12 ` Marin David Condic
2002-06-24 13:09 ` Stephen Leake
2002-06-24 15:08 ` Darren New
2002-06-24 17:13 ` Stephen Leake
2002-06-24 17:59 ` Darren New
2002-06-24 19:04 ` Stephen Leake
2002-06-24 21:29 ` Darren New
2002-06-25 12:52 ` Georg Bauhaus
2002-06-25 12:45 ` Georg Bauhaus
2002-06-19 21:32 ` Georg Bauhaus
2002-06-19 18:20 ` Stephen Leake
2002-06-21 20:04 ` Robert I. Eachus [this message]
2002-06-24 13:39 ` Stephen Leake
2002-06-19 16:48 ` Marin David Condic
2002-06-20 13:04 ` Georg Bauhaus
2002-06-20 13:53 ` Marin David Condic
2002-06-20 14:19 ` Stephen Leake
2002-06-20 15:37 ` Ted Dennison
2002-06-19 18:15 ` Stephen Leake
2002-06-20 1:35 ` Ted Dennison
2002-06-20 14:10 ` Stephen Leake
2002-06-20 20:50 ` Jacob Sparre Andersen
2002-06-20 20:58 ` Stephen Leake
2002-06-21 2:21 ` Ted Dennison
2002-06-24 13:22 ` Stephen Leake
2002-06-20 1:37 ` Ted Dennison
2002-06-29 11:03 ` Config_Files proposal {long} Bobby D. Bryant
2002-06-29 12:17 ` Bobby D. Bryant
2002-06-29 13:07 ` Mark Biggar
2002-07-03 14:10 ` Georg Bauhaus
-- strict thread matches above, loose matches on Subject: below --
2002-06-14 0:19 Config_Files proposal Stephen Leake
2002-06-02 16:07 config files proposal Stephen Leake
2002-06-02 21:29 ` Darren New
2002-06-02 22:00 ` Darren New
2002-06-02 22:16 ` Stephen Leake
2002-06-03 4:20 ` Darren New
2002-06-09 20:16 ` Stephen Leake
2002-06-10 1:33 ` Darren New
2002-06-10 12:35 ` Stephen Leake
2002-06-10 15:42 ` Darren New
2002-06-10 14:23 ` Georg Bauhaus
2002-06-03 14:56 ` Ted Dennison
2002-06-03 16:08 ` Darren New
2002-06-03 16:24 ` Jean-Marc Bourguet
2002-06-03 16:50 ` Darren New
2002-06-04 11:07 ` Preben Randhol
2002-06-04 19:55 ` Ted Dennison
2002-06-09 20:43 ` Stephen Leake
2002-06-09 20:39 ` Stephen Leake
2002-06-10 1:33 ` Darren New
2002-06-10 10:17 ` Preben Randhol
2002-06-09 20:29 ` Stephen Leake
2002-06-10 1:33 ` Darren New
2002-06-10 18:58 ` Ted Dennison
2002-06-11 18:11 ` Stephen Leake
2002-06-03 15:13 ` Preben Randhol
2002-06-04 15:41 ` Antonio Duran
2002-06-04 15:51 ` Darren New
2002-06-05 10:17 ` Antonio Duran
2002-06-05 14:31 ` Ted Dennison
2002-06-09 20:54 ` Stephen Leake
2002-06-10 1:33 ` Darren New
2002-06-10 12:40 ` Stephen Leake
2002-06-10 15:45 ` Darren New
2002-06-11 13:15 ` Ted Dennison
2002-06-11 16:36 ` Darren New
2002-06-12 7:40 ` Volkert Barr
2002-06-12 15:45 ` Darren New
2002-06-13 8:17 ` Volkert Barr
2002-06-13 13:20 ` Ted Dennison
2002-06-13 13:38 ` Georg Bauhaus
2002-06-11 13:09 ` Ted Dennison
2002-06-13 15:52 ` Georg Bauhaus
2002-06-04 17:06 ` Darren New
2002-06-09 21:01 ` Stephen Leake
2002-06-06 7:57 ` Volkert Barr
2002-06-06 10:04 ` sk
2002-06-06 11:33 ` Volkert Barr
2002-06-06 13:56 ` sk
2002-06-07 8:24 ` Volkert
2002-06-07 9:01 ` Jason King
2002-06-07 11:01 ` Preben Randhol
2002-06-07 17:06 ` Darren New
2002-06-07 17:13 ` Preben Randhol
2002-06-07 17:33 ` Darren New
2002-06-07 18:26 ` Preben Randhol
2002-06-09 21:08 ` Stephen Leake
2002-06-07 15:07 ` Volkert
2002-06-07 15:12 ` Ted Dennison
2002-06-09 21:16 ` Stephen Leake
2002-06-09 21:05 ` Stephen Leake
2002-06-13 9:08 ` Antonio Duran
2002-06-13 14:15 ` Stephen Leake
2002-06-13 21:04 ` Antonio Duran
2002-06-14 16:15 ` Stephen Leake
2002-06-13 18:38 ` Ted Dennison
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox