interface xdc.runtime.knl.ISemThreadSupport |
|
|
|
Interface for OS specific back-end
The
xdc.runtime.knl package contains modules that provide typical
OS services. These xdc.runtime.knl modules require proxies to be
bound to an OS specific delegate. This specifies the interface to
be implemented by the OS specific delegate for
xdc.runtime.knl.SemThread module.
[
more ... ]
interface ISemThreadSupport { ...
instance: ...
module-wide constants & types
};
};
module-wide config parameters
instance:
per-instance config parameters
per-instance creation
per-instance functions
}
DETAILS
The
xdc.runtime.knl package contains modules that provide typical
OS services. These xdc.runtime.knl modules require proxies to be
bound to an OS specific delegate. This specifies the interface to
be implemented by the OS specific delegate for
xdc.runtime.knl.SemThread module.
This interface adds the create() function.
const ISemThreadSupport.FOREVER |
|
Used as the timeout value to specify wait forever
const UInt FOREVER = ~(0);
enum ISemThreadSupport.Mode |
|
Types of semaphores
enum Mode {
Mode_COUNTING,
// Counting semaphore
Mode_BINARY
// Binary Semaphore
};
enum ISemThreadSupport.PendStatus |
|
Error codes returned by Semaphore_pend
enum PendStatus {
PendStatus_ERROR,
PendStatus_TIMEOUT,
PendStatus_SUCCESS
};
metaonly config ISemThreadSupport.common$ // module-wide |
|
Common module configuration parameters
DETAILS
All modules have this configuration parameter. Its name
contains the '$' character to ensure it does not conflict with
configuration parameters declared by the module. This allows
new configuration parameters to be added in the future without
any chance of breaking existing modules.
config ISemThreadSupport.mode // instance |
|
Semaphore mode. Default is COUNTING
DETAILS
When mode is BINARY , the semaphore has only two states, available
and unavailable. When mode is COUNTING, the semaphore keeps track of
number of times a semaphore is posted.
Instance Creation |
|
create(Int count);
// Create an instance-object
ARGUMENTS
count
initial semaphore count
DETAILS
This function creates a new Semaphore object which is initialized to
count.
ISemThreadSupport.pend() // instance |
|
Wait for the semaphore to become available
ARGUMENTS
timeout
timeout in microseconds
eb
error block
DETAILS
RETURNS
refer to description above
ISemThreadSupport.post() // instance |
|
Increment the semaphore count
ARGUMENTS
eb
error block
RETURNS
true for success, false for error in error block
generated on Thu, 27 Sep 2012 23:21:09 GMT