comp.lang.ada
 help / color / mirror / Atom feed
From: robert_dewar@my-dejanews.com
Subject: Re: Stream venting (long)
Date: 1998/12/29
Date: 1998-12-29T00:00:00+00:00	[thread overview]
Message-ID: <76baib$4ne$1@nnrp1.dejanews.com> (raw)
In-Reply-To: 76aor7$l4q$1@nnrp1.dejanews.com

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    




  reply	other threads:[~1998-12-29  0:00 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-12-28  0:00 Stream venting (long) dennison
1998-12-29  0:00 ` robert_dewar
1998-12-29  0:00   ` dennison
1998-12-29  0:00     ` robert_dewar [this message]
1998-12-30  0:00       ` dennison
1998-12-30  0:00         ` robert_dewar
1998-12-30  0:00           ` dennison
1998-12-31  0:00             ` robert_dewar
1998-12-31  0:00               ` LeakyStain
1998-12-31  0:00                 ` dewar
1998-12-31  0:00                   ` 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