From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,108a618b460a8c87 X-Google-Attributes: gid103376,public From: Kilgallen@eisner.decus.org.nospam (Larry Kilgallen) Subject: Re: Tasking differences Date: 2000/07/13 Message-ID: #1/1 X-Deja-AN: 645858911 References: <3969B65A.46942054@baesystems.com> <8kff0n$nnu$1@nnrp1.deja.com> <8kgkdp$kjv$1@nnrp1.deja.com> <8kihp8$1cp$1@nnrp1.deja.com> X-Complaints-To: abuse@verio.net X-Trace: iad-read.news.verio.net 963487065 216.44.122.34 (Thu, 13 Jul 2000 11:17:45 GMT) Organization: LJK Software NNTP-Posting-Date: Thu, 13 Jul 2000 11:17:45 GMT Newsgroups: comp.lang.ada Date: 2000-07-13T00:00:00+00:00 List-Id: In article <8kihp8$1cp$1@nnrp1.deja.com>, Robert Dewar writes: > In article , > Kilgallen@eisner.decus.org.nospam (Larry Kilgallen) wrote: >> In article <8kgkdp$kjv$1@nnrp1.deja.com>, Robert Dewar > writes: >> >> > Certainly if the problem is that you have multiple tasks > doing >> > Put to the same file without synchronization, then > absolutely >> > anything may happen when you run the program! >> >> But for some given compiler/OS, it might be perfectly orderly >> for situations like log files where the order of the records >> is not of concern. > > The problem is FAR worse than arbitrary interleaving. You are > doing uncoordinated writes to a variable (the internal file > variable), so the program is erroneous. Arbitrary interleaving > is actually a very nice behavior, but a program crash due to > inconsistent data structures is not unexpected in this situation > (or at least should NOT be unexpected). If you want this kind > of interleaving, you need to provide a synchronizing agent Or ensure your tools provide it. The DEC Ada Runtime Library is on the VMS Listings kit. There are calls to lock and unlock file variables made during file operations. Whether those calls are perfect is certainly less tested than whether 1 + 1 = 2.