Es seguro llamar al errno
varias veces cuando se trata del mismo error. ¿O es más seguro trabajar con una copia local?¿Se deben evitar las llamadas consecutivas a `errno`?
Esta muestra ilustra mi pregunta:
// If recvfrom() fails it returns -1 and sets errno to indicate the error.
int res = recvfrom(...);
if (res < 0)
{
// Risky?
printf("Error code: %d. Error message: %s\n", errno, strerror(errno));
// Safer alternative?
int errorNumber = errno;
printf("Error code: %d. Error message: %s\n", errorNumber, strerror(errorNumber));
}
+1 pregunta interesante que resulta tener una respuesta no trivial y posibles consecuencias prácticas. –