mirror of
https://github.com/GOSTSec/sgminer
synced 2025-09-13 14:42:05 +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:
parent
a5fb85ef84
commit
f20e25e0c0
@ -3,7 +3,16 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.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 <assert.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
@ -191,11 +200,20 @@ bool opt_parse(int *argc, char *argv[], void (*errlog)(const char *fmt, ...))
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
unsigned offset = 0;
|
unsigned offset = 0;
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
char *original_argv0 = argv[0];
|
||||||
|
argv[0] = (char*)basename(argv[0]);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* This helps opt_usage. */
|
/* This helps opt_usage. */
|
||||||
opt_argv0 = argv[0];
|
opt_argv0 = argv[0];
|
||||||
|
|
||||||
while ((ret = parse_one(argc, argv, &offset, errlog)) == 1);
|
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 */
|
/* parse_one returns 0 on finish, -1 on error */
|
||||||
return (ret == 0);
|
return (ret == 0);
|
||||||
|
19
main.c
19
main.c
@ -1624,6 +1624,16 @@ int main (int argc, char *argv[])
|
|||||||
char name[32];
|
char name[32];
|
||||||
struct cgpu_info *gpus = NULL, *cpus = NULL;
|
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
|
#ifdef WIN32
|
||||||
opt_n_threads = num_processors = 1;
|
opt_n_threads = num_processors = 1;
|
||||||
#else
|
#else
|
||||||
@ -1671,15 +1681,6 @@ int main (int argc, char *argv[])
|
|||||||
sprintf(rpc_userpass, "%s:%s", rpc_user, rpc_pass);
|
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)))
|
if (unlikely(curl_global_init(CURL_GLOBAL_ALL)))
|
||||||
return 1;
|
return 1;
|
||||||
#ifdef HAVE_SYSLOG_H
|
#ifdef HAVE_SYSLOG_H
|
||||||
|
Loading…
x
Reference in New Issue
Block a user