Scroll to navigation

ost::Runlist(3) Library Functions Manual ost::Runlist(3)

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

Additional Inherited Members

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.

Sun Dec 27 2020 GNU CommonC++