Fixing yield + yielding correctly to prevent watchdog issues on ESP32-C3.

This commit is contained in:
Brad Nelson
2021-12-17 21:05:29 -08:00
parent fb591e1a44
commit dc8361687b
2 changed files with 3 additions and 2 deletions

View File

@ -31,7 +31,7 @@ typedef uintptr_t ucell_t;
#define DOIMMEDIATE() (*g_sys.current)[-1] |= IMMEDIATE
#define UNSMUDGE() (*g_sys.current)[-1] &= ~SMUDGE
#define DOES(ip) **g_sys.current = (cell_t) ADDR_DODOES; (*g_sys.current)[1] = (cell_t) ip
#define PARK DUP; *++rp = (cell_t) sp; *++rp = (cell_t) ip
#define PARK DUP; *++rp = (cell_t) fp; *++rp = (cell_t) sp; *++rp = (cell_t) ip
#ifndef SSMOD_FUNC
# if __SIZEOF_POINTER__ == 8

View File

@ -15,7 +15,8 @@
( Add a yielding task so pause yields )
internals definitions
transfer{ yield raw-yield }transfer
' raw-yield 100 100 task yield-task
: yield-step raw-yield yield ;
' yield-step 100 100 task yield-task
yield-task start-task
forth definitions