diff options
Diffstat (limited to 'libcr')
-rw-r--r-- | libcr/coroutine.c | 9 |
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--; } |