1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-11 07:17:58 +00:00

Make sure the work gets attributed to the correct gpu.

Add an fflush to stderr to minimise garbled output when multiple threads write at once.
This commit is contained in:
Con Kolivas 2011-07-02 12:12:35 +10:00
parent 86e40ed9c8
commit ffdffe77d3
2 changed files with 3 additions and 2 deletions

View File

@ -826,13 +826,13 @@ static void *miner_thread(void *userdata)
uint64_t max64; uint64_t max64;
bool rc; bool rc;
work.thr_id = thr_id;
/* obtain new work from internal workio thread */ /* obtain new work from internal workio thread */
if (unlikely(!get_work(&work))) { if (unlikely(!get_work(&work))) {
applog(LOG_ERR, "work retrieval failed, exiting " applog(LOG_ERR, "work retrieval failed, exiting "
"mining thread %d", mythr->id); "mining thread %d", mythr->id);
goto out; goto out;
} }
work.thr_id = thr_id;
hashes_done = 0; hashes_done = 0;
gettimeofday(&tv_start, NULL); gettimeofday(&tv_start, NULL);
@ -1034,13 +1034,13 @@ static void *gpuminer_thread(void *userdata)
memset(res, 0, BUFFERSIZE); memset(res, 0, BUFFERSIZE);
gettimeofday(&tv_workstart, NULL); gettimeofday(&tv_workstart, NULL);
work->thr_id = thr_id;
/* obtain new work from internal workio thread */ /* obtain new work from internal workio thread */
if (unlikely(!get_work(work))) { if (unlikely(!get_work(work))) {
applog(LOG_ERR, "work retrieval failed, exiting " applog(LOG_ERR, "work retrieval failed, exiting "
"gpu mining thread %d", mythr->id); "gpu mining thread %d", mythr->id);
goto out; goto out;
} }
work->thr_id = thr_id;
precalc_hash(&work->blk, (uint32_t *)(work->midstate), (uint32_t *)(work->data + 64)); precalc_hash(&work->blk, (uint32_t *)(work->midstate), (uint32_t *)(work->data + 64));
work->blk.nonce = 0; work->blk.nonce = 0;

1
util.c
View File

@ -95,6 +95,7 @@ void applog(int prio, const char *fmt, ...)
vfprintf(stderr, f, ap); /* atomic write to stderr */ vfprintf(stderr, f, ap); /* atomic write to stderr */
} }
va_end(ap); va_end(ap);
fflush(stderr);
} }
static void databuf_free(struct data_buffer *db) static void databuf_free(struct data_buffer *db)