I’m on Ubuntu 10.04 using GCC and I want to use the macro TEMP_FAILURE_RETRY as described here:
http://www.gnu.org/s/hello/manual/libc/Interrupted-Primitives.html
However, when I compile I got the following error:
undefined reference to `TEMP_FAILURE_RETRY'
I looked in unistd.h where the macro is defined and it is preceded by:
#ifdef __USE_GNU
How do I get my code to compile and use this macro? Can I simply wrap it using the same #ifdef __USE_GNU in my code?
__USE_GNUis an internal macro, so you shouldn’t define it yourself.But you may define
_GNU_SOURCE, either in your code, or when compiling (using the-Doption).I think defining this one will help to make
TEMP_FAILURE_RETRYavailable.