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: robert_dewar@my-dejanews.com Subject: Re: Stream venting (long) Date: 1998/12/29 Message-ID: <76baib$4ne$1@nnrp1.dejanews.com>#1/1 X-Deja-AN: 426832523 References: <768sng$6r9$1@nnrp1.dejanews.com> <769g3r$moq$1@nnrp1.dejanews.com> <76aor7$l4q$1@nnrp1.dejanews.com> X-Http-Proxy: 1.0 x1.dejanews.com:80 (Squid/1.1.22) for client 166.72.71.238 Organization: Deja News - The Leader in Internet Discussion X-Article-Creation-Date: Tue Dec 29 19:29:17 1998 GMT Newsgroups: comp.lang.ada X-Http-User-Agent: Mozilla/4.04 [en] (OS/2; I) Date: 1998-12-29T00:00:00+00:00 List-Id: 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. Less Yuk, more thinking :-) -----------== Posted via Deja News, The Discussion Network ==---------- http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own