You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by cc...@apache.org on 2019/02/13 19:35:23 UTC
[mynewt-core] branch master updated: kernel/os: Track most recent
event in debug builds
This is an automated email from the ASF dual-hosted git repository.
ccollins pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-core.git
The following commit(s) were added to refs/heads/master by this push:
new 56b7eba kernel/os: Track most recent event in debug builds
56b7eba is described below
commit 56b7ebab7cde0af5b43c906fc51e66b80fdb2dcd
Author: Christopher Collins <cc...@apache.org>
AuthorDate: Tue Feb 12 12:09:56 2019 -0800
kernel/os: Track most recent event in debug builds
Add a new syscfg setting: `OS_EVENTQ_DEBUG`. When this setting is
enabled, each eventq remembers its most recently processed event.
This feature is only useful when debugging with gdb.
---
kernel/os/include/os/os_eventq.h | 5 ++++-
kernel/os/src/os_eventq.c | 4 ++++
kernel/os/syscfg.yml | 6 ++++++
3 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/kernel/os/include/os/os_eventq.h b/kernel/os/include/os/os_eventq.h
index 2445fd6..770dc5c 100644
--- a/kernel/os/include/os/os_eventq.h
+++ b/kernel/os/include/os/os_eventq.h
@@ -71,11 +71,14 @@ struct os_eventq {
*/
struct os_task *evq_task;
+#if MYNEWT_VAL(OS_EVENTQ_DEBUG)
+ /** Most recently processed event. */
+ struct os_event *evq_prev;
+#endif
STAILQ_HEAD(, os_event) evq_list;
};
-
/**
* Initialize the event queue
*
diff --git a/kernel/os/src/os_eventq.c b/kernel/os/src/os_eventq.c
index e8389df..ab54afd 100644
--- a/kernel/os/src/os_eventq.c
+++ b/kernel/os/src/os_eventq.c
@@ -148,6 +148,10 @@ pull_one:
os_trace_api_ret_u32(OS_TRACE_ID_EVENTQ_GET, (uint32_t)ev);
+#if MYNEWT_VAL(OS_EVENTQ_DEBUG)
+ evq->evq_prev = ev;
+#endif
+
return (ev);
}
diff --git a/kernel/os/syscfg.yml b/kernel/os/syscfg.yml
index 7a38d24..71d7241 100644
--- a/kernel/os/syscfg.yml
+++ b/kernel/os/syscfg.yml
@@ -138,6 +138,11 @@ syscfg.defs:
description: >
Enables debug runtime checks for time-related functionality.
value: 0
+ OS_EVENTQ_DEBUG:
+ description: >
+ Enables debug runtime checks for eventq-related functionality.
+ value: 0
+
OS_CRASH_FILE_LINE:
description: >
Include filename and line number in crash messages. Aids in
@@ -154,3 +159,4 @@ syscfg.vals.OS_DEBUG_MODE:
OS_MEMPOOL_CHECK: 1
OS_MEMPOOL_POISON: 1
OS_TIME_DEBUG: 1
+ OS_EVENTQ_DEBUG: 1