Man Linux: Main Page and Category List

NAME

       ost::Runlist -

       A runlist is used to restrict concurrent exection to a limited set of
       concurrent sessions, much like a semaphore.

SYNOPSIS

       #include <misc.h>

       Inherits ost::Mutex.

   Public Member Functions
       Runlist (unsigned count=1)
           Create a new runlist with a specified limit.
       bool add (Runable *run)
           Add a runable object to this runlist.
       void del (Runable *run)
           Remove a runable object from the wait list or notify when it is
           done running so that the used count can be decremented.
       void set (unsigned limit)
           Set the limit.

   Protected Member Functions
       void check (void)

   Protected Attributes
       unsigned limit
       unsigned used

Detailed Description

       A runlist is used to restrict concurrent exection to a limited set of
       concurrent sessions, much like a semaphore.

       However, the runlist differs in that it notifies objects when they
       become ready to run, rather than requiring them to wait and ’block’ for
       the semaphore count to become low enough to continue.

       Author:
           David Sugar <dyfet@ostel.com> list of runable objects.

Constructor & Destructor Documentation

   ost::Runlist::Runlist (unsigned count = 1)
       Create a new runlist with a specified limit. Parameters:
           count limit before wait queuing.

Member Function Documentation

   bool ost::Runlist::add (Runable * run)
       Add a runable object to this runlist. If the number of entries running
       is below the limit, then add returns true otherwise the entry is added
       to the list.

       Returns:
           true if immediately ready to run

       Parameters:
           run pointer to runable object.

   void ost::Runlist::check (void) [protected]
   void ost::Runlist::del (Runable * run)
       Remove a runable object from the wait list or notify when it is done
       running so that the used count can be decremented. Parameters:
           run pointer to runable object.

   void ost::Runlist::set (unsigned limit)
       Set the limit. Parameters:
           limit to use.

Member Data Documentation

   unsigned ost::Runlist::limit [protected]
   unsigned ost::Runlist::used [protected]

Author

       Generated automatically by Doxygen for GNU CommonC++ from the source
       code.