X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=liblttng-ust%2Fcompat.h;fp=liblttng-ust%2Fcompat.h;h=a941b9a1ed407a945ecef8d624ed2b98f9f5387a;hb=f2db7517e508d970c8a5bebfb05334dc5ee72b87;hp=69761880e125fbff0504320697c22203180b7d97;hpb=b72687b85f4f07a9b63be329ad1fe95b36d24900;p=lttng-ust.git diff --git a/liblttng-ust/compat.h b/liblttng-ust/compat.h index 69761880..a941b9a1 100644 --- a/liblttng-ust/compat.h +++ b/liblttng-ust/compat.h @@ -23,6 +23,7 @@ #include #include +#include #include @@ -59,6 +60,11 @@ int lttng_pthread_getname_np(char *name, size_t len) static inline int lttng_pthread_setname_np(const char *name) { + /* Replicate pthread_setname_np's behavior */ + if (strnlen(name, LTTNG_UST_ABI_PROCNAME_LEN) >= LTTNG_UST_ABI_PROCNAME_LEN) { + return ERANGE; + } + pthread_set_name_np(pthread_self(), name); return 0; } @@ -77,6 +83,10 @@ int lttng_pthread_getname_np(char *name, size_t len) static inline int lttng_pthread_setname_np(const char *name) { + /* Replicate pthread_setname_np's behavior */ + if (strnlen(name, LTTNG_UST_ABI_PROCNAME_LEN) >= LTTNG_UST_ABI_PROCNAME_LEN) { + return ERANGE; + } return prctl(PR_SET_NAME, name, 0, 0, 0); }