1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-22 04:24:19 +00:00

Moved pthread mutex inits up, due to applog using a mutex causing a crash.

Added Win32 compatability to opt.c.
This commit is contained in:
Ycros 2011-07-06 19:46:02 +10:00
parent a5fb85ef84
commit f20e25e0c0
2 changed files with 29 additions and 10 deletions

View File

@ -3,7 +3,16 @@
#include <errno.h>
#include <stdlib.h>
#include <stdio.h>
#include <err.h>
#ifndef WIN32
#include <err.h>
#else
#define errx(status, fmt, ...) { \
fprintf(stderr, fmt, __VA_ARGS__); \
fprintf(stderr, "\n"); \
exit(status); }
#endif
#include <assert.h>
#include <stdarg.h>
#include <stdint.h>
@ -191,11 +200,20 @@ bool opt_parse(int *argc, char *argv[], void (*errlog)(const char *fmt, ...))
{
int ret;
unsigned offset = 0;
#ifdef WIN32
char *original_argv0 = argv[0];
argv[0] = (char*)basename(argv[0]);
#endif
/* This helps opt_usage. */
opt_argv0 = argv[0];
while ((ret = parse_one(argc, argv, &offset, errlog)) == 1);
#ifdef WIN32
argv[0] = original_argv0;
#endif
/* parse_one returns 0 on finish, -1 on error */
return (ret == 0);

19
main.c
View File

@ -1624,6 +1624,16 @@ int main (int argc, char *argv[])
char name[32];
struct cgpu_info *gpus = NULL, *cpus = NULL;
if (unlikely(pthread_mutex_init(&time_lock, NULL)))
return 1;
if (unlikely(pthread_mutex_init(&hash_lock, NULL)))
return 1;
if (unlikely(pthread_mutex_init(&qd_lock, NULL)))
return 1;
if (unlikely(pthread_mutex_init(&stgd_lock, NULL)))
return 1;
#ifdef WIN32
opt_n_threads = num_processors = 1;
#else
@ -1671,15 +1681,6 @@ int main (int argc, char *argv[])
sprintf(rpc_userpass, "%s:%s", rpc_user, rpc_pass);
}
if (unlikely(pthread_mutex_init(&time_lock, NULL)))
return 1;
if (unlikely(pthread_mutex_init(&hash_lock, NULL)))
return 1;
if (unlikely(pthread_mutex_init(&qd_lock, NULL)))
return 1;
if (unlikely(pthread_mutex_init(&stgd_lock, NULL)))
return 1;
if (unlikely(curl_global_init(CURL_GLOBAL_ALL)))
return 1;
#ifdef HAVE_SYSLOG_H