[S] Change in osmo-trx[master]: fix(threads): support GNU and POSIX strerror_r variants
Timur Davydov has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/42199?usp=email ) Change subject: fix(threads): support GNU and POSIX strerror_r variants ...................................................................... fix(threads): support GNU and POSIX strerror_r variants - Add required headers - Use correct handling for GNU-specific strerror_r - Provide fallback error string for portability Change-Id: I642aff8a9f98823e117c4debd19384ddf5975039 --- M CommonLibs/Threads.cpp 1 file changed, 13 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/99/42199/1 diff --git a/CommonLibs/Threads.cpp b/CommonLibs/Threads.cpp index 377a1b0..22191f0 100644 --- a/CommonLibs/Threads.cpp +++ b/CommonLibs/Threads.cpp @@ -27,6 +27,8 @@ #include <string.h> #include <sys/types.h> +#include <errno.h> +#include <stdio.h> #include "Threads.h" #include "Timeval.h" @@ -53,7 +55,17 @@ } else { char buf[256]; int err = errno; - char* err_str = strerror_r(err, buf, sizeof(buf)); + char *err_str = NULL; +#if defined(__GLIBC__) && defined(_GNU_SOURCE) + err_str = strerror_r(err, buf, sizeof(buf)); +#else + if (strerror_r(err, buf, sizeof(buf)) == 0) { + err_str = buf; + } else { + snprintf(buf, sizeof(buf), "Unknown error %d", err); + err_str = buf; + } +#endif LOG(NOTICE) << "Thread "<< selfid << " (task " << tid << ") set name \"" << name << "\" failed: (" << err << ") " << err_str; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/42199?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I642aff8a9f98823e117c4debd19384ddf5975039 Gerrit-Change-Number: 42199 Gerrit-PatchSet: 1 Gerrit-Owner: Timur Davydov <dtv.comp@gmail.com>
participants (1)
-
Timur Davydov