
Thread-safe version of strerror; thread local buffer used for storing the message. The performance penalty of a thread local buffer is not likely to be significant, since this is only called in an error situation that anyway is likely to interrupt the normal processing.