mirror of
https://github.com/QuantumLeaps/qpcpp.git
synced 2025-01-14 05:42:57 +08:00
6.8.0
This commit is contained in:
parent
eb24368ad2
commit
9987b63cd7
@ -108,29 +108,29 @@
|
|||||||
5 1 28 1 5 QP::QTimeEvt::wasDisarmed@532-536@..\src\qf\qf_time.cpp
|
5 1 28 1 5 QP::QTimeEvt::wasDisarmed@532-536@..\src\qf\qf_time.cpp
|
||||||
7 1 28 1 9 QP::QTimeEvt::currCtr@551-559@..\src\qf\qf_time.cpp
|
7 1 28 1 9 QP::QTimeEvt::currCtr@551-559@..\src\qf\qf_time.cpp
|
||||||
11 2 79 1 16 QP::QF::init@78-93@..\src\qk\qk.cpp
|
11 2 79 1 16 QP::QF::init@78-93@..\src\qk\qk.cpp
|
||||||
3 1 14 1 4 QP::QF::stop@106-109@..\src\qk\qk.cpp
|
3 1 14 1 4 QP::QF::stop@111-114@..\src\qk\qk.cpp
|
||||||
6 2 26 1 8 QP::initial_events@114-121@..\src\qk\qk.cpp
|
6 2 26 1 8 QP::initial_events@119-126@..\src\qk\qk.cpp
|
||||||
10 3 40 1 14 QP::QF::run@132-145@..\src\qk\qk.cpp
|
10 3 40 1 14 QP::QF::run@137-150@..\src\qk\qk.cpp
|
||||||
21 5 139 6 30 QP::QActive::start@164-193@..\src\qk\qk.cpp
|
21 5 139 6 30 QP::QActive::start@169-198@..\src\qk\qk.cpp
|
||||||
21 2 138 1 32 QP::QK::schedLock@218-249@..\src\qk\qk.cpp
|
21 2 138 1 32 QP::QK::schedLock@223-254@..\src\qk\qk.cpp
|
||||||
22 4 149 1 33 QP::QK::schedUnlock@268-300@..\src\qk\qk.cpp
|
22 4 149 1 33 QP::QK::schedUnlock@273-305@..\src\qk\qk.cpp
|
||||||
14 3 94 1 17 QK_sched_@320-336@..\src\qk\qk.cpp
|
14 3 94 1 17 QK_sched_@325-341@..\src\qk\qk.cpp
|
||||||
61 15 421 1 105 QK_activate_@347-451@..\src\qk\qk.cpp
|
61 15 421 1 105 QK_activate_@352-456@..\src\qk\qk.cpp
|
||||||
9 2 67 1 13 QP::QF::init@79-91@..\src\qv\qv.cpp
|
9 2 67 1 13 QP::QF::init@79-91@..\src\qv\qv.cpp
|
||||||
3 1 12 1 4 QP::QF::stop@104-107@..\src\qv\qv.cpp
|
3 1 12 1 4 QP::QF::stop@109-112@..\src\qv\qv.cpp
|
||||||
37 9 198 1 71 QP::QF::run@125-195@..\src\qv\qv.cpp
|
37 9 198 1 71 QP::QF::run@130-200@..\src\qv\qv.cpp
|
||||||
15 3 109 6 22 QP::QActive::start@215-236@..\src\qv\qv.cpp
|
15 3 109 6 22 QP::QActive::start@220-241@..\src\qv\qv.cpp
|
||||||
2 1 10 0 2 QP::QXKIdleThread::QXKIdleThread@68-69@..\src\qxk\qxk.cpp
|
2 1 10 0 2 QP::QXKIdleThread::QXKIdleThread@68-69@..\src\qxk\qxk.cpp
|
||||||
14 2 103 1 22 QP::QF::init@85-106@..\src\qxk\qxk.cpp
|
14 2 103 1 22 QP::QF::init@85-106@..\src\qxk\qxk.cpp
|
||||||
3 1 12 1 4 QP::QF::stop@119-122@..\src\qxk\qxk.cpp
|
3 1 12 1 4 QP::QF::stop@124-127@..\src\qxk\qxk.cpp
|
||||||
6 2 26 1 8 QP::initial_events@127-134@..\src\qxk\qxk.cpp
|
6 2 26 1 8 QP::initial_events@132-139@..\src\qxk\qxk.cpp
|
||||||
10 3 40 1 15 QP::QF::run@143-157@..\src\qxk\qxk.cpp
|
10 3 40 1 15 QP::QF::run@148-162@..\src\qxk\qxk.cpp
|
||||||
24 6 161 6 34 QP::QActive::start@174-207@..\src\qxk\qxk.cpp
|
24 6 161 6 34 QP::QActive::start@179-212@..\src\qxk\qxk.cpp
|
||||||
24 3 150 1 34 QP::QXK::schedLock@230-263@..\src\qxk\qxk.cpp
|
24 3 150 1 34 QP::QXK::schedLock@235-268@..\src\qxk\qxk.cpp
|
||||||
22 4 149 1 34 QP::QXK::schedUnlock@282-315@..\src\qxk\qxk.cpp
|
22 4 149 1 34 QP::QXK::schedUnlock@287-320@..\src\qxk\qxk.cpp
|
||||||
51 7 296 1 70 QXK_sched_@335-404@..\src\qxk\qxk.cpp
|
51 7 296 1 70 QXK_sched_@340-409@..\src\qxk\qxk.cpp
|
||||||
79 16 547 1 135 QXK_activate_@415-549@..\src\qxk\qxk.cpp
|
79 16 547 1 135 QXK_activate_@420-554@..\src\qxk\qxk.cpp
|
||||||
13 2 72 1 20 QXK_current@552-571@..\src\qxk\qxk.cpp
|
13 2 72 1 20 QXK_current@557-576@..\src\qxk\qxk.cpp
|
||||||
16 4 105 1 24 QP::QXMutex::init@84-107@..\src\qxk\qxk_mutex.cpp
|
16 4 105 1 24 QP::QXMutex::init@84-107@..\src\qxk\qxk_mutex.cpp
|
||||||
66 12 456 1 108 QP::QXMutex::lock@129-236@..\src\qxk\qxk_mutex.cpp
|
66 12 456 1 108 QP::QXMutex::lock@129-236@..\src\qxk\qxk_mutex.cpp
|
||||||
47 10 301 1 71 QP::QXMutex::tryLock@256-326@..\src\qxk\qxk_mutex.cpp
|
47 10 301 1 71 QP::QXMutex::tryLock@256-326@..\src\qxk\qxk_mutex.cpp
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
/// @cond
|
/// @cond
|
||||||
///***************************************************************************
|
///***************************************************************************
|
||||||
/// Last updated for version 6.8.0
|
/// Last updated for version 6.8.0
|
||||||
/// Last updated on 2020-01-23
|
/// Last updated on 2020-03-23
|
||||||
///
|
///
|
||||||
/// Q u a n t u m L e a P s
|
/// Q u a n t u m L e a P s
|
||||||
/// ------------------------
|
/// ------------------------
|
||||||
@ -91,14 +91,6 @@ void QF::init(void) {
|
|||||||
// init the global condition variable with the default initializer
|
// init the global condition variable with the default initializer
|
||||||
pthread_cond_init(&QV_condVar_, NULL);
|
pthread_cond_init(&QV_condVar_, NULL);
|
||||||
|
|
||||||
// clear the internal QF variables, so that the framework can (re)start
|
|
||||||
// correctly even if the startup code is not called to clear the
|
|
||||||
// uninitialized data (as is required by the C++ Standard).
|
|
||||||
extern std::uint_fast8_t QF_maxPool_;
|
|
||||||
QF_maxPool_ = 0U;
|
|
||||||
bzero(&QF::timeEvtHead_[0], sizeof(QF::timeEvtHead_));
|
|
||||||
bzero(&active_[0], sizeof(active_));
|
|
||||||
|
|
||||||
l_tick.tv_sec = 0;
|
l_tick.tv_sec = 0;
|
||||||
l_tick.tv_nsec = NANOSLEEP_NSEC_PER_SEC/100L; // default clock tick
|
l_tick.tv_nsec = NANOSLEEP_NSEC_PER_SEC/100L; // default clock tick
|
||||||
l_tickPrio = sched_get_priority_min(SCHED_FIFO); // default tick prio
|
l_tickPrio = sched_get_priority_min(SCHED_FIFO); // default tick prio
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
/// @cond
|
/// @cond
|
||||||
///***************************************************************************
|
///***************************************************************************
|
||||||
/// Last updated for version 6.8.0
|
/// Last updated for version 6.8.0
|
||||||
/// Last updated on 2020-01-23
|
/// Last updated on 2020-03-23
|
||||||
///
|
///
|
||||||
/// Q u a n t u m L e a P s
|
/// Q u a n t u m L e a P s
|
||||||
/// ------------------------
|
/// ------------------------
|
||||||
@ -94,14 +94,6 @@ void QF::init(void) {
|
|||||||
// calling QF::run()
|
// calling QF::run()
|
||||||
pthread_mutex_lock(&l_startupMutex);
|
pthread_mutex_lock(&l_startupMutex);
|
||||||
|
|
||||||
// clear the internal QF variables, so that the framework can (re)start
|
|
||||||
// correctly even if the startup code is not called to clear the
|
|
||||||
// uninitialized data (as is required by the C++ Standard).
|
|
||||||
extern std::uint_fast8_t QF_maxPool_;
|
|
||||||
QF_maxPool_ = 0U;
|
|
||||||
bzero(&QF::timeEvtHead_[0], sizeof(QF::timeEvtHead_));
|
|
||||||
bzero(&active_[0], sizeof(active_));
|
|
||||||
|
|
||||||
l_tick.tv_sec = 0;
|
l_tick.tv_sec = 0;
|
||||||
l_tick.tv_nsec = NANOSLEEP_NSEC_PER_SEC/100L; // default clock tick
|
l_tick.tv_nsec = NANOSLEEP_NSEC_PER_SEC/100L; // default clock tick
|
||||||
l_tickPrio = sched_get_priority_min(SCHED_FIFO); // default tick prio
|
l_tickPrio = sched_get_priority_min(SCHED_FIFO); // default tick prio
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
/// @cond
|
/// @cond
|
||||||
///***************************************************************************
|
///***************************************************************************
|
||||||
/// Last updated for version 6.8.0
|
/// Last updated for version 6.8.0
|
||||||
/// Last updated on 2020-01-23
|
/// Last updated on 2020-03-23
|
||||||
///
|
///
|
||||||
/// Q u a n t u m L e a P s
|
/// Q u a n t u m L e a P s
|
||||||
/// ------------------------
|
/// ------------------------
|
||||||
@ -70,14 +70,6 @@ static DWORD WINAPI ticker_thread(LPVOID arg);
|
|||||||
void QF::init(void) {
|
void QF::init(void) {
|
||||||
InitializeCriticalSection(&l_win32CritSect);
|
InitializeCriticalSection(&l_win32CritSect);
|
||||||
QV_win32Event_ = CreateEvent(NULL, FALSE, FALSE, NULL);
|
QV_win32Event_ = CreateEvent(NULL, FALSE, FALSE, NULL);
|
||||||
|
|
||||||
// clear the internal QF variables, so that the framework can (re)start
|
|
||||||
// correctly even if the startup code is not called to clear the
|
|
||||||
// uninitialized data (as is required by the C++ Standard).
|
|
||||||
extern std::uint_fast8_t QF_maxPool_;
|
|
||||||
QF_maxPool_ = 0U;
|
|
||||||
bzero(&QF::timeEvtHead_[0], sizeof(QF::timeEvtHead_));
|
|
||||||
bzero(&active_[0], sizeof(active_));
|
|
||||||
}
|
}
|
||||||
//****************************************************************************
|
//****************************************************************************
|
||||||
void QF_enterCriticalSection_(void) {
|
void QF_enterCriticalSection_(void) {
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
/// @cond
|
/// @cond
|
||||||
///***************************************************************************
|
///***************************************************************************
|
||||||
/// Last updated for version 6.8.0
|
/// Last updated for version 6.8.0
|
||||||
/// Last updated on 2020-01-23
|
/// Last updated on 2020-03-23
|
||||||
///
|
///
|
||||||
/// Q u a n t u m L e a P s
|
/// Q u a n t u m L e a P s
|
||||||
/// ------------------------
|
/// ------------------------
|
||||||
@ -69,14 +69,6 @@ void QF::init(void) {
|
|||||||
// any active objects started before calling QF::run()
|
// any active objects started before calling QF::run()
|
||||||
InitializeCriticalSection(&l_startupCritSect);
|
InitializeCriticalSection(&l_startupCritSect);
|
||||||
EnterCriticalSection(&l_startupCritSect);
|
EnterCriticalSection(&l_startupCritSect);
|
||||||
|
|
||||||
// clear the internal QF variables, so that the framework can (re)start
|
|
||||||
// correctly even if the startup code is not called to clear the
|
|
||||||
// uninitialized data (as is required by the C++ Standard).
|
|
||||||
extern std::uint_fast8_t QF_maxPool_;
|
|
||||||
QF_maxPool_ = 0U;
|
|
||||||
bzero(&QF::timeEvtHead_[0], sizeof(QF::timeEvtHead_));
|
|
||||||
bzero(&active_[0], sizeof(active_));
|
|
||||||
}
|
}
|
||||||
//****************************************************************************
|
//****************************************************************************
|
||||||
void QF_enterCriticalSection_(void) {
|
void QF_enterCriticalSection_(void) {
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
/// @cond
|
/// @cond
|
||||||
///***************************************************************************
|
///***************************************************************************
|
||||||
/// Last updated for version 6.8.0
|
/// Last updated for version 6.8.0
|
||||||
/// Last updated on 2020-01-23
|
/// Last updated on 2020-03-23
|
||||||
///
|
///
|
||||||
/// Q u a n t u m L e a P s
|
/// Q u a n t u m L e a P s
|
||||||
/// ------------------------
|
/// ------------------------
|
||||||
@ -101,6 +101,11 @@ void QF::init(void) {
|
|||||||
/// system or for handling fatal errors that require shutting down
|
/// system or for handling fatal errors that require shutting down
|
||||||
/// (and possibly re-setting) the system.
|
/// (and possibly re-setting) the system.
|
||||||
///
|
///
|
||||||
|
/// @attention
|
||||||
|
/// After calling QF::stop() the application must terminate and cannot
|
||||||
|
/// continue. In particular, QF::stop() is **not** intended to be followed
|
||||||
|
/// by a call to QF::init() to "resurrect" the application.
|
||||||
|
///
|
||||||
/// @sa QP::QF::onCleanup()
|
/// @sa QP::QF::onCleanup()
|
||||||
///
|
///
|
||||||
void QF::stop(void) {
|
void QF::stop(void) {
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
/// @cond
|
/// @cond
|
||||||
///***************************************************************************
|
///***************************************************************************
|
||||||
/// Last updated for version 6.8.0
|
/// Last updated for version 6.8.0
|
||||||
/// Last updated on 2020-03-03
|
/// Last updated on 2020-03-23
|
||||||
///
|
///
|
||||||
/// Q u a n t u m L e a P s
|
/// Q u a n t u m L e a P s
|
||||||
/// ------------------------
|
/// ------------------------
|
||||||
@ -55,6 +55,9 @@ std::uint8_t volatile QF_intNest;
|
|||||||
|
|
||||||
// QF functions ==============================================================
|
// QF functions ==============================================================
|
||||||
void QF::init(void) {
|
void QF::init(void) {
|
||||||
|
/// Clear the internal QF variables, so that the framework can start
|
||||||
|
/// correctly even if the startup code fails to clear the uninitialized
|
||||||
|
/// data (as is required by the C++ Standard).
|
||||||
QF_maxPool_ = 0U;
|
QF_maxPool_ = 0U;
|
||||||
QF_subscrList_ = nullptr;
|
QF_subscrList_ = nullptr;
|
||||||
QF_maxPubSignal_ = 0;
|
QF_maxPubSignal_ = 0;
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
/// @cond
|
/// @cond
|
||||||
///***************************************************************************
|
///***************************************************************************
|
||||||
/// Last updated for version 6.8.0
|
/// Last updated for version 6.8.0
|
||||||
/// Last updated on 2020-01-20
|
/// Last updated on 2020-03-23
|
||||||
///
|
///
|
||||||
/// Q u a n t u m L e a P s
|
/// Q u a n t u m L e a P s
|
||||||
/// ------------------------
|
/// ------------------------
|
||||||
@ -74,7 +74,7 @@ extern "C" {
|
|||||||
///
|
///
|
||||||
/// @note QP::QF::init() clears the internal QF variables, so that the
|
/// @note QP::QF::init() clears the internal QF variables, so that the
|
||||||
/// framework can start correctly even if the startup code fails to clear
|
/// framework can start correctly even if the startup code fails to clear
|
||||||
/// the uninitialized data (as is required by the C Standard).
|
/// the uninitialized data (as is required by the C++ Standard).
|
||||||
///
|
///
|
||||||
void QF::init(void) {
|
void QF::init(void) {
|
||||||
QF_maxPool_ = 0U;
|
QF_maxPool_ = 0U;
|
||||||
@ -99,6 +99,11 @@ void QF::init(void) {
|
|||||||
/// system or for handling fatal errors that require shutting down
|
/// system or for handling fatal errors that require shutting down
|
||||||
/// (and possibly re-setting) the system.
|
/// (and possibly re-setting) the system.
|
||||||
///
|
///
|
||||||
|
/// @attention
|
||||||
|
/// After calling QF::stop() the application must terminate and cannot
|
||||||
|
/// continue. In particular, QF::stop() is **not** intended to be followed
|
||||||
|
/// by a call to QF::init() to "resurrect" the application.
|
||||||
|
///
|
||||||
/// @sa QP::QF::onCleanup()
|
/// @sa QP::QF::onCleanup()
|
||||||
///
|
///
|
||||||
void QF::stop(void) {
|
void QF::stop(void) {
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
/// @cond
|
/// @cond
|
||||||
///***************************************************************************
|
///***************************************************************************
|
||||||
/// Last updated for version 6.8.0
|
/// Last updated for version 6.8.0
|
||||||
/// Last updated on 2020-01-23
|
/// Last updated on 2020-03-23
|
||||||
///
|
///
|
||||||
/// Q u a n t u m L e a P s
|
/// Q u a n t u m L e a P s
|
||||||
/// ------------------------
|
/// ------------------------
|
||||||
@ -114,6 +114,11 @@ void QF::init(void) {
|
|||||||
/// system or for handling fatal errors that require shutting down
|
/// system or for handling fatal errors that require shutting down
|
||||||
/// (and possibly re-setting) the system.
|
/// (and possibly re-setting) the system.
|
||||||
///
|
///
|
||||||
|
/// @attention
|
||||||
|
/// After calling QF::stop() the application must terminate and cannot
|
||||||
|
/// continue. In particular, QF::stop() is **not** intended to be followed
|
||||||
|
/// by a call to QF::init() to "resurrect" the application.
|
||||||
|
///
|
||||||
/// @sa QF::onCleanup()
|
/// @sa QF::onCleanup()
|
||||||
///
|
///
|
||||||
void QF::stop(void) {
|
void QF::stop(void) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user