#include <vm_sys.h>
Public Member Functions | |
void | interrupt () |
Safe interthread VM interruption request on blocking I/O. | |
bool | interrupted () const |
Checks wether the VM has been interrupted in a blocking wait or I/O. | |
void | resetInterrupt () |
Clear interruption status. | |
bool | sleep (numeric seconds) const |
Wait for a given count of seconds. | |
SystemData () | |
Creates the system data. | |
~SystemData () | |
Destroys VM specific system data. | |
Static Public Member Functions | |
static const char * | getSystemType () |
Returns overall underlying system architecture type. | |
Public Attributes | |
struct VM_SYS_DATA * | m_sysData |
Events, mutexes, pipes, sockets and all what's needed to run the VM in specific systems. System specific structures are in vm_sys_*.h, while implementation of this functions are in vm_sys_*.cpp.
The structures are opaque to the virtual machine, but they can be inspected by embedding applications and modules (i.e. for threading support).
Falcon::Sys::SystemData::SystemData | ( | ) |
Creates the system data.
This operation is granted to succeed.
Falcon::Sys::SystemData::~SystemData | ( | ) |
Destroys VM specific system data.
Will be performed only at ownwer vm's destruction.
static const char* Falcon::Sys::SystemData::getSystemType | ( | ) | [static] |
Returns overall underlying system architecture type.
It may be something as WIN or POSIX. More detailed informations about underlying systems can be retreived through modules.
void Falcon::Sys::SystemData::interrupt | ( | ) |
Safe interthread VM interruption request on blocking I/O.
Will work only on compliant I/O and waits.
Referenced by Falcon::VMachine::interrupt().
bool Falcon::Sys::SystemData::interrupted | ( | ) | const |
Checks wether the VM has been interrupted in a blocking wait or I/O.
void Falcon::Sys::SystemData::resetInterrupt | ( | ) |
Clear interruption status.
bool Falcon::Sys::SystemData::sleep | ( | numeric | seconds | ) | const |
Wait for a given count of seconds.
struct VM_SYS_DATA* Falcon::Sys::SystemData::m_sysData [read] |