System level utilities.
More...
#include <string>
#include <sys/sem.h>
#include <pthread.h>
#include <mutex>
#include "rad/logger.hpp"
#include "ctd/defines/defines.hpp"
Go to the source code of this file.
|
class | ctd::system::Mutex |
| The Mutex class: Scope based mutex semaphore. The ctd::system::Mutex semaphore is used to implement a safe mutex semaphore, at scope level. When entering the scope the semaphore is automatically created, based on a ID, if not existing, and locked. The semaphore created is recursive. When leaving the scope, the destructor will automatically unlock the semaphore. More...
|
|
|
double | ctd::system::_Time () |
|
void | ctd::system::Assert (const bool condition, const std::string &message, std::array< std::string, 3 > &location) |
| Check if pointer is NULL. If yes, throw rad::Exception. More...
|
|
void | ctd::system::AssertPtr (const void *ptr, const std::string &object, std::array< std::string, 3 > &location) |
| Check if pointer is NULL. If yes, throw rad::Exception. More...
|
|
std::string | ctd::system::Platform () |
| Get the name of the platform (OS). More...
|
|
int64_t | ctd::system::Random (const int64_t min_val, const int64_t max_val) |
| Generate an int64_t random number in the inteval specified. More...
|
|
std::string | ctd::system::ExecCommand (const std::string &command) |
| Execute a shell command (synchroneously). More...
|
|
std::string | ctd::system::testUtils::GetResDir (const std::string &module_path, const std::string &res_dir="test/resource") |
| Derives the "resource" directory from the current working point. More...
|
|
void | ctd::system::testUtils::SetRootEnvVars (const std::string &module_path, const std::string &res_dir="test/resource") |
| Set the root environment variables: CFGROOT, INTROOT, DATAROOT. More...
|
|
System level utilities.
- Copyright
- ESO - European Southern Observatory
#define BEGIN_CRIT_SEC |
( |
|
id | ) |
|
Value:{ \
ctd::system::Mutex tmp_mutex(id); \
Macro to initiate critical section.
#define END_CRIT_SEC |
( |
|
id | ) |
} |
Dummy macro to mark end of critical section.