mirror of
https://github.com/GOSTSec/sgminer
synced 2025-02-02 10:04:33 +00:00
Merge pull request #338 from denis2342/threadname
small patch to add names to threads, should work for linux, freebsd and osx
This commit is contained in:
commit
9a71654761
24
cgminer.c
24
cgminer.c
@ -3048,6 +3048,8 @@ static void *get_work_thread(void *userdata)
|
|||||||
|
|
||||||
pthread_detach(pthread_self());
|
pthread_detach(pthread_self());
|
||||||
|
|
||||||
|
RenameThread("get_work");
|
||||||
|
|
||||||
applog(LOG_DEBUG, "Creating extra get work thread");
|
applog(LOG_DEBUG, "Creating extra get work thread");
|
||||||
|
|
||||||
retry:
|
retry:
|
||||||
@ -3231,6 +3233,8 @@ static void *submit_work_thread(void *userdata)
|
|||||||
|
|
||||||
pthread_detach(pthread_self());
|
pthread_detach(pthread_self());
|
||||||
|
|
||||||
|
RenameThread("submit_work");
|
||||||
|
|
||||||
applog(LOG_DEBUG, "Creating extra submit work thread");
|
applog(LOG_DEBUG, "Creating extra submit work thread");
|
||||||
|
|
||||||
check_solve(work);
|
check_solve(work);
|
||||||
@ -3674,6 +3678,8 @@ static void *stage_thread(void *userdata)
|
|||||||
|
|
||||||
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
||||||
|
|
||||||
|
RenameThread("stage");
|
||||||
|
|
||||||
while (ok) {
|
while (ok) {
|
||||||
struct work *work = NULL;
|
struct work *work = NULL;
|
||||||
|
|
||||||
@ -4353,6 +4359,8 @@ static void *input_thread(void __maybe_unused *userdata)
|
|||||||
{
|
{
|
||||||
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
||||||
|
|
||||||
|
RenameThread("input");
|
||||||
|
|
||||||
if (!curses_active)
|
if (!curses_active)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
@ -4389,6 +4397,8 @@ static void *workio_thread(void *userdata)
|
|||||||
|
|
||||||
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
||||||
|
|
||||||
|
RenameThread("work_io");
|
||||||
|
|
||||||
while (ok) {
|
while (ok) {
|
||||||
struct workio_cmd *wc;
|
struct workio_cmd *wc;
|
||||||
|
|
||||||
@ -4428,6 +4438,8 @@ static void *api_thread(void *userdata)
|
|||||||
pthread_detach(pthread_self());
|
pthread_detach(pthread_self());
|
||||||
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
||||||
|
|
||||||
|
RenameThread("api");
|
||||||
|
|
||||||
api(api_thr_id);
|
api(api_thr_id);
|
||||||
|
|
||||||
PTH(mythr) = 0L;
|
PTH(mythr) = 0L;
|
||||||
@ -4674,6 +4686,8 @@ static void *stratum_thread(void *userdata)
|
|||||||
|
|
||||||
pthread_detach(pthread_self());
|
pthread_detach(pthread_self());
|
||||||
|
|
||||||
|
RenameThread("stratum");
|
||||||
|
|
||||||
while (42) {
|
while (42) {
|
||||||
struct timeval timeout;
|
struct timeval timeout;
|
||||||
fd_set rd;
|
fd_set rd;
|
||||||
@ -5507,6 +5521,10 @@ void *miner_thread(void *userdata)
|
|||||||
|
|
||||||
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
||||||
|
|
||||||
|
char threadname[20];
|
||||||
|
snprintf(threadname,20,"miner %d",thr_id);
|
||||||
|
RenameThread(threadname);
|
||||||
|
|
||||||
gettimeofday(&getwork_start, NULL);
|
gettimeofday(&getwork_start, NULL);
|
||||||
|
|
||||||
if (api->thread_init && !api->thread_init(mythr)) {
|
if (api->thread_init && !api->thread_init(mythr)) {
|
||||||
@ -5762,6 +5780,8 @@ static void *longpoll_thread(void *userdata)
|
|||||||
char *lp_url;
|
char *lp_url;
|
||||||
int rolltime;
|
int rolltime;
|
||||||
|
|
||||||
|
RenameThread("longpoll");
|
||||||
|
|
||||||
curl = curl_easy_init();
|
curl = curl_easy_init();
|
||||||
if (unlikely(!curl)) {
|
if (unlikely(!curl)) {
|
||||||
applog(LOG_ERR, "CURL initialisation failed");
|
applog(LOG_ERR, "CURL initialisation failed");
|
||||||
@ -5953,6 +5973,8 @@ static void *watchpool_thread(void __maybe_unused *userdata)
|
|||||||
|
|
||||||
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
||||||
|
|
||||||
|
RenameThread("watchpool");
|
||||||
|
|
||||||
while (42) {
|
while (42) {
|
||||||
struct timeval now;
|
struct timeval now;
|
||||||
int i;
|
int i;
|
||||||
@ -6024,6 +6046,8 @@ static void *watchdog_thread(void __maybe_unused *userdata)
|
|||||||
|
|
||||||
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
||||||
|
|
||||||
|
RenameThread("watchdog");
|
||||||
|
|
||||||
memset(&zero_tv, 0, sizeof(struct timeval));
|
memset(&zero_tv, 0, sizeof(struct timeval));
|
||||||
gettimeofday(&rotate_tv, NULL);
|
gettimeofday(&rotate_tv, NULL);
|
||||||
|
|
||||||
|
16
util.c
16
util.c
@ -1496,3 +1496,19 @@ void *realloc_strcat(char *ptr, char *s)
|
|||||||
free(ptr);
|
free(ptr);
|
||||||
return ret;
|
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