Fix SCSetThreadName() macros in threads.h Add FreeBSD thread naming implementation.

remotes/origin/HEAD
Nikolay Denev 13 years ago committed by Victor Julien
parent cde31abe96
commit 50aba06530

@ -467,18 +467,26 @@ extern __thread uint64_t spin_lock_cnt;
* OS specific macro's for setting the thread name. "top" can display
* this name.
*/
#ifndef PR_SET_NAME /*PR_SET_NAME */
#define SCSetThreadName(n)
#elif defined OS_FREEBSD || __OpenBSD__ /* FreeBSD or OpenBSD */
#if defined OS_FREEBSD /* FreeBSD */
/** \todo Add implementation for FreeBSD */
#define SCSetThreadName(n)
#elif OS_WIN32 /* Windows */
#define SCSetThreadName(n) ({ \
char tname[16] = ""; \
if (strlen(n) > 16) \
SCLogDebug("Thread name is too long, truncating it..."); \
strlcpy(tname, n, 16); \
pthread_set_name_np(pthread_self(), tname); \
0; \
})
#elif defined __OpenBSD__ /* OpenBSD */
/** \todo Add implementation for OpenBSD */
#define SCSetThreadName(n) (0)
#elif defined OS_WIN32 /* Windows */
/** \todo Add implementation for Windows */
#define SCSetThreadName(n)
#elif OS_DARWIN /* Mac OS X */
#define SCSetThreadName(n) (0)
#elif defined OS_DARWIN /* Mac OS X */
/** \todo Add implementation for MacOS */
#define SCSetThreadName(n)
#else /* Linux */
#define SCSetThreadName(n) (0)
#elif defined PR_SET_NAME /*PR_SET_NAME */
/**
* \brief Set the threads name
*/
@ -492,6 +500,8 @@ extern __thread uint64_t spin_lock_cnt;
SCLogDebug("Error setting thread name \"%s\": %s", tname, strerror(errno)); \
ret; \
})
#else
#define SCSetThreadName(n) (0)
#endif

Loading…
Cancel
Save