From 323c16a5fbe53dffbbe6a83e79cd48e90ea4a59d Mon Sep 17 00:00:00 2001 From: huangkai8 Date: Wed, 19 Apr 2023 16:01:43 +0800 Subject: [PATCH] Wrong start and end values would make dead cycle. Exchange the values when start value is bigger than end value. --- system/dumpstack/dumpstack.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/system/dumpstack/dumpstack.c b/system/dumpstack/dumpstack.c index 94af6483a..d779f8084 100644 --- a/system/dumpstack/dumpstack.c +++ b/system/dumpstack/dumpstack.c @@ -44,6 +44,7 @@ int main(int argc, FAR char *argv[]) { int spid = -1; int epid = -1; + int tmp = -1; if (argc == 2) { @@ -60,6 +61,13 @@ int main(int argc, FAR char *argv[]) spid = epid = gettid(); } + if (spid > epid) + { + tmp = spid; + spid = epid; + epid = tmp; + } + do { sched_dumpstack(spid);