summaryrefslogtreecommitdiff
path: root/libcr
diff options
context:
space:
mode:
Diffstat (limited to 'libcr')
-rw-r--r--libcr/coroutine.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/libcr/coroutine.c b/libcr/coroutine.c
index d776e90..a81ffbd 100644
--- a/libcr/coroutine.c
+++ b/libcr/coroutine.c
@@ -865,12 +865,15 @@ void cr_cid_info(cid_t cid, struct cr_cid_info *ret) {
#if CONFIG_COROUTINE_VALGRIND
VALGRIND_DISABLE_ERROR_REPORTING;
#endif
- uint8_t v = stack[i];
+ if (stack[i] != stack_pattern[i%sizeof(stack_pattern)]) {
#if CONFIG_COROUTINE_VALGRIND
- VALGRIND_ENABLE_ERROR_REPORTING;
+ VALGRIND_ENABLE_ERROR_REPORTING;
#endif
- if (v != stack_pattern[i%sizeof(stack_pattern)])
break;
+ }
+#if CONFIG_COROUTINE_VALGRIND
+ VALGRIND_ENABLE_ERROR_REPORTING;
+#endif
ret->stack_max--;
}