mirror of
https://github.com/GOSTSec/sgminer
synced 2025-03-10 12:41:02 +00:00
setting the name of the threads for linux,freebsd,openbsd and osx
code is borrowed from bitcoins util.c, so it is already tested
This commit is contained in:
parent
4584068c67
commit
271b05ab04
22
cgminer.c
22
cgminer.c
@ -3036,6 +3036,8 @@ static void *get_work_thread(void *userdata)
|
||||
|
||||
pthread_detach(pthread_self());
|
||||
|
||||
RenameThread("get_work");
|
||||
|
||||
applog(LOG_DEBUG, "Creating extra get work thread");
|
||||
|
||||
retry:
|
||||
@ -3219,6 +3221,8 @@ static void *submit_work_thread(void *userdata)
|
||||
|
||||
pthread_detach(pthread_self());
|
||||
|
||||
RenameThread("submit_work");
|
||||
|
||||
applog(LOG_DEBUG, "Creating extra submit work thread");
|
||||
|
||||
check_solve(work);
|
||||
@ -3662,6 +3666,8 @@ static void *stage_thread(void *userdata)
|
||||
|
||||
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
||||
|
||||
RenameThread("stage");
|
||||
|
||||
while (ok) {
|
||||
struct work *work = NULL;
|
||||
|
||||
@ -4341,6 +4347,8 @@ static void *input_thread(void __maybe_unused *userdata)
|
||||
{
|
||||
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
||||
|
||||
RenameThread("input");
|
||||
|
||||
if (!curses_active)
|
||||
return NULL;
|
||||
|
||||
@ -4377,6 +4385,8 @@ static void *workio_thread(void *userdata)
|
||||
|
||||
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
||||
|
||||
RenameThread("work_io");
|
||||
|
||||
while (ok) {
|
||||
struct workio_cmd *wc;
|
||||
|
||||
@ -4416,6 +4426,8 @@ static void *api_thread(void *userdata)
|
||||
pthread_detach(pthread_self());
|
||||
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
||||
|
||||
RenameThread("api");
|
||||
|
||||
api(api_thr_id);
|
||||
|
||||
PTH(mythr) = 0L;
|
||||
@ -4662,6 +4674,8 @@ static void *stratum_thread(void *userdata)
|
||||
|
||||
pthread_detach(pthread_self());
|
||||
|
||||
RenameThread("stratum");
|
||||
|
||||
while (42) {
|
||||
struct timeval timeout;
|
||||
fd_set rd;
|
||||
@ -5495,6 +5509,8 @@ void *miner_thread(void *userdata)
|
||||
|
||||
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
||||
|
||||
RenameThread("miner");
|
||||
|
||||
gettimeofday(&getwork_start, NULL);
|
||||
|
||||
if (api->thread_init && !api->thread_init(mythr)) {
|
||||
@ -5750,6 +5766,8 @@ static void *longpoll_thread(void *userdata)
|
||||
char *lp_url;
|
||||
int rolltime;
|
||||
|
||||
RenameThread("longpoll");
|
||||
|
||||
curl = curl_easy_init();
|
||||
if (unlikely(!curl)) {
|
||||
applog(LOG_ERR, "CURL initialisation failed");
|
||||
@ -5941,6 +5959,8 @@ static void *watchpool_thread(void __maybe_unused *userdata)
|
||||
|
||||
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
||||
|
||||
RenameThread("watchpool");
|
||||
|
||||
while (42) {
|
||||
struct timeval now;
|
||||
int i;
|
||||
@ -6012,6 +6032,8 @@ static void *watchdog_thread(void __maybe_unused *userdata)
|
||||
|
||||
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
||||
|
||||
RenameThread("watchdog");
|
||||
|
||||
memset(&zero_tv, 0, sizeof(struct timeval));
|
||||
gettimeofday(&rotate_tv, NULL);
|
||||
|
||||
|
16
util.c
16
util.c
@ -1496,3 +1496,19 @@ void *realloc_strcat(char *ptr, char *s)
|
||||
free(ptr);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void RenameThread(const char* name)
|
||||
{
|
||||
#if defined(PR_SET_NAME)
|
||||
// Only the first 15 characters are used (16 - NUL terminator)
|
||||
prctl(PR_SET_NAME, name, 0, 0, 0);
|
||||
#elif (defined(__FreeBSD__) || defined(__OpenBSD__))
|
||||
pthread_set_name_np(pthread_self(), name);
|
||||
#elif defined(MAC_OSX)
|
||||
pthread_setname_np(name);
|
||||
#else
|
||||
// Prevent warnings for unused parameters...
|
||||
(void)name;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user