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,71daebeb6145ebb6 X-Google-Attributes: gid103376,public From: dennison@telepath.com Subject: Re: Stream venting (long) Date: 1998/12/30 Message-ID: <76de7d$opb$1@nnrp1.dejanews.com>#1/1 X-Deja-AN: 427103008 References: <768sng$6r9$1@nnrp1.dejanews.com> <769g3r$moq$1@nnrp1.dejanews.com> <76aor7$l4q$1@nnrp1.dejanews.com> <76baib$4ne$1@nnrp1.dejanews.com> X-Http-Proxy: 1.0 x8.dejanews.com:80 (Squid/1.1.22) for client 204.48.27.130 Organization: Deja News - The Leader in Internet Discussion X-Article-Creation-Date: Wed Dec 30 14:43:57 1998 GMT Newsgroups: comp.lang.ada X-Http-User-Agent: Mozilla/4.5 [en] (WinNT; I) Date: 1998-12-30T00:00:00+00:00 List-Id: In article <76baib$4ne$1@nnrp1.dejanews.com>, robert_dewar@my-dejanews.com wrote: > In article <76aor7$l4q$1@nnrp1.dejanews.com>, > dennison@telepath.com wrote: > > The problem is when to release the lock. You can't > > acquire and release it after every call to the stream's > > Read or Write procedures, or you get interleaved data. > > You'd have to do it *manually* before the client's first > > top level 'Write call and after their last. That means > > the client has to do > > it. Yuk. > > I already gave the (perfectly trivial) solution for this > problem. Associate a lock with the stream. When a stream > routine is called, claim the lock IF IT IS NOT ALREADY > CLAIMED by you! On completion, release the lock IF YOU > CLAIMED it on entry. This should be perfectly simple to > program, and completely solves your problem. Hmm. It appears you think my problem is with algorithmicly handling the clients locking when locking is happening interally already. That's not the case; my problem is making the clients do their own pre- and postprocessing. That's a crappy interface. My code should be handling messy details like that for them (not so incidently, removing one possible source for errors). They should just be able to do a 'Write on their data structure and be done with it. -- T.E.D. -----------== Posted via Deja News, The Discussion Network ==---------- http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own