Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

rt_scheduler_unix.c File Reference


Detailed Description

Empty implementation of the rt_scheduler interface.

Definition in file rt_scheduler_unix.c.

Include dependency graph for rt_scheduler_unix.c:

Include dependency graph

Go to the source code of this file.

Functions

int rts_query_scheduler (rts_scheduler_data_t rsd)
 Get information about the underlying scheduler.
int rts_grab_schedulable (rts_schedulable_t *rs, pid_t member, const char *name)
 Grab a reference to a schedulable entity.
int rts_release_schedulable (rts_schedulable_t rs)
 Release a reference to a schedulable entity.
int rts_set_schedule (rts_schedulable_t rsa, rts_schedule_t rs)
 Set the real-time schedule for a schedulable.
int rts_get_schedule (rts_schedulable_t rsa, rts_schedule_t rs)
 Get the real-time schedule for a schedulable.
int rts_clear_schedule (rts_schedulable_t rsa)
 Clear the real-time schedule for a schedulable and return it to a best-effort scheduler.


Function Documentation

int rts_clear_schedule rts_schedulable_t  rsa  ) 
 

Clear the real-time schedule for a schedulable and return it to a best-effort scheduler.

Parameters:
rsa The schedulable to clear.
Returns:
Zero on success, otherwise, an errno code.

Definition at line 71 of file rt_scheduler_unix.c.

int rts_get_schedule rts_schedulable_t  rsa,
rts_schedule_t  rs_out
 

Get the real-time schedule for a schedulable.

Parameters:
rsa The schedulable to schedule.
rs_out The new schedule.
Returns:
Zero on success, otherwise, an errno code.

Definition at line 64 of file rt_scheduler_unix.c.

int rts_grab_schedulable rts_schedulable_t rs_out,
pid_t  member,
const char *  name
 

Grab a reference to a schedulable entity.

The current semantics of this function are as follows:

  • If necessary, the function must make some effort to "repair" the system state by destroying schedulables that are in a suspicious state.
  • Multiple calls to this function with the same parameters need not return the same pointer, however, their values must be equal. The user must also release the schedulables in the opposite order in which they were grabbed.
  • If the schedulable entity already exists at the OS-level, it should be used instead of creating a new one.
  • If no schedulable entity exists that contains the given process or has the given name, one should be created.
Parameters:
rs_out A pointer that should be filled out with the schedulable value.
member A process that is already a member of the schedulable, one that should be added to a newly created schedulable, or -1 if the schedulable should be created by name.
name The name for the schedulable or NULL if one should be made up.
Returns:
Zero on success, otherwise, an errno code.

Definition at line 41 of file rt_scheduler_unix.c.

int rts_query_scheduler rts_scheduler_data_t  rsd_out  ) 
 

Get information about the underlying scheduler.

This function is mostly about making it possible to do run-time adaptation to the scheduler's capabilities.

Parameters:
rsd_out A reference to an #rts_scheduler_data object that should be filled in.

Definition at line 25 of file rt_scheduler_unix.c.

int rts_release_schedulable rts_schedulable_t  rs  ) 
 

Release a reference to a schedulable entity.

The current semantics of this function are as follows:

  • If the given schedulable created the OS-level entity, this call should destroy it.
  • If the given schedulable entity was used to set the schedule, this call should clear the schedule.
Parameters:
rs The reference from rts_grab_schedulable to release.
Returns:
Zero on success, otherwise an errno value.

Definition at line 50 of file rt_scheduler_unix.c.

int rts_set_schedule rts_schedulable_t  rsa,
rts_schedule_t  rs
 

Set the real-time schedule for a schedulable.

Parameters:
rsa The schedulable to schedule.
rs The new schedule.
Returns:
Zero on success, otherwise, an errno code.

Definition at line 57 of file rt_scheduler_unix.c.


Generated on Fri Oct 22 07:50:54 2004 for CPU Broker by  doxygen 1.3.9.1