I am porting a function that calls siglongjmp(). I have included the <setjmp.h>, which includes the machine implementation of the <machine/setjmp.h>, which has the definition for the siglongjmp(). But for some reason it still just keeps throwing me that error.
Any ideas?
Error: implicit declaration of function 'siglongjmp'
Re: Error: implicit declaration of function 'siglongjmp'
ESP-IDF includes the standard newlib libc header files, but there are some things in the header which don't make sense in the IDF context - for example we don't have POSIX signals, so siglongjmp isn't really needed.
You may be able to work around this by ignoring the signal handling mask arguments, and writing some wrappers in a separate .c file which just call setlongjmp & longjmp. Something like (untested code):
You may be able to work around this by ignoring the signal handling mask arguments, and writing some wrappers in a separate .c file which just call setlongjmp & longjmp. Something like (untested code):
Code: Select all
int sigsetjmp(sigjmp_buf env, int savesigs)
{
return setjmp((jmp_buf)env);
}
void siglongjmp(sigjmp_buf env)
{
return longjmp(jmp_buf)env);
}
Re: Error: implicit declaration of function 'siglongjmp'
thank you. will try it.
Who is online
Users browsing this forum: Google [Bot] and 362 guests