comp.lang.ada
 help / color / mirror / Atom feed
From: "Mark Lundquist" <mark@rational.com>
Subject: Re: How can I avoid Using a Semaphore? (long)
Date: Fri, 2 Feb 2001 14:18:13 -0800
Date: 2001-02-02T14:18:13-08:00	[thread overview]
Message-ID: <95fbn7$njb$1@usenet.rational.com> (raw)
In-Reply-To: b89b6.298508$U46.9559869@news1.sttls1.wa.home.com

Steve, sorry to take so long getting back to you.  You probably have it all
figured out by now...

DuckE <nospam_steved94@home.com> wrote in message
news:b89b6.298508$U46.9559869@news1.sttls1.wa.home.com...


> >[mark wrote]
> > I don't get it!  Can you explain that?  Are you talking about
> > the "potentially blocking" rule?  I don't see how the scenario you
> > described would run afoul of that rule, and I couldn't find anything in
> > your example code to help me understand what you meant...
>
> This is exactly the rule I'm talking about.

Entries are potentially blocking, but protected subprograms are not.  You
don't
need entries in your protected reference count, right?  So you should be OK?

> >
> > 3) You have an array of free block lists, and a "parallel" array of
> > mutexes associated with the free block lists.  Doesn't that mean that
> > you really want a mutex to be part of a free block list?
> >
>
> Perhaps, but as you'll notice I initialize my free block lists using:
>
>   availablePacketTable : anAvailablePacketTable :=
>     (  1 => ( NULL,  2**5, 0, 64 ), -- 32
>        2 => ( NULL,  2**6, 0, 32 ), -- 64
>        3 => ( NULL,  2**7, 0, 32 ), -- 128

>
> If I made the "mutex" a part of the record, how would it appear in this
> initializer?

Well, it would look like something like:

    availablePacketTable : anAvailablePacketTable := (
            1 => Create_Packet_Table_Entry (Size => 2**5, Count => 64),
            2 => Create_Packet_Table_Entry (Size => 2**6, Count => 32),
            .
            .
            .
        );

Best,
Mark

















  parent reply	other threads:[~2001-02-02 22:18 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-01-13 16:18 How can I avoid Using a Semaphore? (long) DuckE
2001-01-15  1:06 ` How can I avoid Using a Semaphore? Nick Roberts
2001-01-15  3:17   ` Robert Dewar
2001-01-16  3:53   ` DuckE
2001-01-17 15:42     ` Nick Roberts
2001-01-20 18:16       ` DuckE
2001-01-20 19:16         ` Robert Dewar
2001-01-21  1:28           ` DuckE
2001-01-21 16:04             ` Robert Dewar
2001-01-21 23:23               ` DuckE
2001-01-22  0:28                 ` mark_lundquist
2001-01-22  1:51                 ` Robert Dewar
2001-01-23  2:36                   ` DuckE
2001-01-22  0:35               ` Built-in types (was " mark_lundquist
2001-01-22  1:54                 ` Robert Dewar
2001-01-22 16:18                   ` mark_lundquist
2001-01-22 17:20                     ` Robert Dewar
2001-01-22 23:17                       ` Mark Lundquist
     [not found]                         ` <m33deaaeks.fsf@ns40.infomatch.bc.ca>
2001-02-02 22:01                           ` Mark Lundquist
     [not found]                         ` <94km00$bv8$1@nnrp1.deja.com>
2001-02-02 22:03                           ` Mark Lundquist
2001-01-21 16:53           ` Nick Roberts
2001-01-21 18:24             ` Robert Dewar
2001-01-23  0:21               ` Nick Roberts
2001-01-22  0:16         ` mark_lundquist
2001-01-22 16:51 ` How can I avoid Using a Semaphore? (long) mark_lundquist
2001-01-23  6:02   ` DuckE
2001-02-02 22:00     ` Sucking (was Re: How can I avoid Using a Semaphore? (long)) Mark Lundquist
2001-02-03  1:44       ` Jeffrey Carter
2001-02-03  3:21       ` DuckE
2001-02-05 20:07         ` Mark Lundquist
2001-02-06  7:16           ` Sven Nilsson
2001-02-02 22:18     ` Mark Lundquist [this message]
2001-02-03  3:01       ` How can I avoid Using a Semaphore? (long) DuckE
2001-02-02 21:38 ` Niklas Holsti
  -- strict thread matches above, loose matches on Subject: below --
2001-02-07 21:55 Beard, Frank
2001-02-08 23:42 Beard, Frank
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox