This commit is contained in:
QL 2020-03-23 19:58:24 -04:00
parent eb24368ad2
commit 9987b63cd7
9 changed files with 239 additions and 253 deletions

View File

@ -108,29 +108,29 @@
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
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
6 2 26 1 8 QP::initial_events@114-121@..\src\qk\qk.cpp
10 3 40 1 14 QP::QF::run@132-145@..\src\qk\qk.cpp
21 5 139 6 30 QP::QActive::start@164-193@..\src\qk\qk.cpp
21 2 138 1 32 QP::QK::schedLock@218-249@..\src\qk\qk.cpp
22 4 149 1 33 QP::QK::schedUnlock@268-300@..\src\qk\qk.cpp
14 3 94 1 17 QK_sched_@320-336@..\src\qk\qk.cpp
61 15 421 1 105 QK_activate_@347-451@..\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@119-126@..\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@169-198@..\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@273-305@..\src\qk\qk.cpp
14 3 94 1 17 QK_sched_@325-341@..\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
3 1 12 1 4 QP::QF::stop@104-107@..\src\qv\qv.cpp
37 9 198 1 71 QP::QF::run@125-195@..\src\qv\qv.cpp
15 3 109 6 22 QP::QActive::start@215-236@..\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@130-200@..\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
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
6 2 26 1 8 QP::initial_events@127-134@..\src\qxk\qxk.cpp
10 3 40 1 15 QP::QF::run@143-157@..\src\qxk\qxk.cpp
24 6 161 6 34 QP::QActive::start@174-207@..\src\qxk\qxk.cpp
24 3 150 1 34 QP::QXK::schedLock@230-263@..\src\qxk\qxk.cpp
22 4 149 1 34 QP::QXK::schedUnlock@282-315@..\src\qxk\qxk.cpp
51 7 296 1 70 QXK_sched_@335-404@..\src\qxk\qxk.cpp
79 16 547 1 135 QXK_activate_@415-549@..\src\qxk\qxk.cpp
13 2 72 1 20 QXK_current@552-571@..\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@132-139@..\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@179-212@..\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@287-320@..\src\qxk\qxk.cpp
51 7 296 1 70 QXK_sched_@340-409@..\src\qxk\qxk.cpp
79 16 547 1 135 QXK_activate_@420-554@..\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
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

View File

@ -3,7 +3,7 @@
/// @cond
///***************************************************************************
/// 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
/// ------------------------
@ -91,14 +91,6 @@ void QF::init(void) {
// init the global condition variable with the default initializer
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_nsec = NANOSLEEP_NSEC_PER_SEC/100L; // default clock tick
l_tickPrio = sched_get_priority_min(SCHED_FIFO); // default tick prio

View File

@ -3,7 +3,7 @@
/// @cond
///***************************************************************************
/// 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
/// ------------------------
@ -94,14 +94,6 @@ void QF::init(void) {
// calling QF::run()
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_nsec = NANOSLEEP_NSEC_PER_SEC/100L; // default clock tick
l_tickPrio = sched_get_priority_min(SCHED_FIFO); // default tick prio

View File

@ -4,7 +4,7 @@
/// @cond
///***************************************************************************
/// 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
/// ------------------------
@ -70,14 +70,6 @@ static DWORD WINAPI ticker_thread(LPVOID arg);
void QF::init(void) {
InitializeCriticalSection(&l_win32CritSect);
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) {

View File

@ -4,7 +4,7 @@
/// @cond
///***************************************************************************
/// 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
/// ------------------------
@ -69,14 +69,6 @@ void QF::init(void) {
// any active objects started before calling QF::run()
InitializeCriticalSection(&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) {

View File

@ -4,7 +4,7 @@
/// @cond
///***************************************************************************
/// 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
/// ------------------------
@ -101,6 +101,11 @@ void QF::init(void) {
/// system or for handling fatal errors that require shutting down
/// (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()
///
void QF::stop(void) {

View File

@ -4,7 +4,7 @@
/// @cond
///***************************************************************************
/// 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
/// ------------------------
@ -55,6 +55,9 @@ std::uint8_t volatile QF_intNest;
// QF functions ==============================================================
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_subscrList_ = nullptr;
QF_maxPubSignal_ = 0;

View File

@ -5,7 +5,7 @@
/// @cond
///***************************************************************************
/// 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
/// ------------------------
@ -74,7 +74,7 @@ extern "C" {
///
/// @note QP::QF::init() clears 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).
/// the uninitialized data (as is required by the C++ Standard).
///
void QF::init(void) {
QF_maxPool_ = 0U;
@ -99,6 +99,11 @@ void QF::init(void) {
/// system or for handling fatal errors that require shutting down
/// (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()
///
void QF::stop(void) {

View File

@ -5,7 +5,7 @@
/// @cond
///***************************************************************************
/// 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
/// ------------------------
@ -114,6 +114,11 @@ void QF::init(void) {
/// system or for handling fatal errors that require shutting down
/// (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()
///
void QF::stop(void) {