phm
9585d2a8e6
Added support for DarkCoin kernel. Modified stats display to handle low difficulty values.
2014-02-19 23:06:29 +01:00
Con Kolivas
aca8a58f2e
Only show one decimal place if pool diff is not an integer.
2014-02-16 15:11:59 +02:00
Con Kolivas
f7394ff165
Check for more interrupted conditions in util.c and handle them gracefully.
2014-02-16 14:43:00 +02:00
Con Kolivas
6b246a59f3
Handle interruptions to various select calls in util.c
2014-02-16 14:41:58 +02:00
Con Kolivas
cc2aa215a8
Clear pool work on a stratum reconnect message.
2014-02-16 13:57:20 +02:00
Kano
faf63ec036
Modify thread naming to make them easier to identify
2014-02-16 13:56:14 +02:00
Con Kolivas
003b65b7b1
Change stratum strings under stratum_lock in reconnect and free old strings.
...
Conflicts resolved:
util.c
2014-02-16 13:38:51 +02:00
Noel Maersk
91d36d097a
log: add LOG_DEBUG message on restarting stratum.
2014-02-14 20:51:16 +02:00
Noel Maersk
ed586c4aa5
misc: indentation.
2014-02-14 20:33:38 +02:00
Noel Maersk
abeeff3d45
log: print getaddrinfo() error description.
...
More debugging for issue 88.
2014-02-14 19:59:59 +02:00
Noel Maersk
a8dfb3ebef
pool: add getaddrinfo() LOG_DEBUG messages.
...
More for issue 88.
2014-02-13 13:40:47 +02:00
Noel Maersk
115eb1ad2f
pool: be verbose on which pool failed.
2014-02-13 12:29:35 +02:00
Noel Maersk
87102ecd07
pool: additional debug logging for stratum pools.
...
Might help in trying to resove issue 88.
2014-02-12 21:11:59 +02:00
Markus Peloquin
bf8e37ce19
Support building in cygwin.
...
Revised the compiler platform macros. Building goes like
$ AMDAPPSDKROOT= CPPFLAGS=-I/usr/include/ncurses ./configure
2014-02-07 22:31:40 -08:00
Sanjin Trošelj
87e5f35745
VS2010 build: commit elist.h and relevant changes in sgminer.c and util.c
...
Cherry-picked by veox.
Introduces a segfault. Expect a HEAD reset.
2014-01-28 02:42:56 +02:00
Sanjin Trošelj
5078db8b01
VS2010 build: Prepare util.c
...
Cherry-picked by veox.
2014-01-28 01:04:04 +02:00
Martin Danielsen
d7e469bd76
Stratum servers can now be named.
...
The names will be used throughout the display in the program, when not set "Pool 1" will
simply be used instead. The names are not exposed through API yet, it's on my TODO list.
Use "poolname" like this:
{
"poolname" : "Example pool",
"url" : "stratum+tcp://example.com:8080",
"user" : "y",
"pass" : "x"
},
Conflicts:
sgminer.c
util.c
2014-01-18 21:05:26 +02:00
Noel Maersk
50066cf3c7
misc: Replace all remaining instances of 'cgminer' with 'sgminer'.
...
sed again.
2014-01-15 16:36:48 +02:00
Con Kolivas
9628207066
Provide a helper function that can reset cgsems to zero.
2014-01-15 14:28:24 +02:00
Con Kolivas
7d2cee3066
Drop json stratum auth failed message log level to verbose.
2014-01-15 13:35:19 +02:00
Maksym Borodin
8fa5ddfd2c
util.c: Decreasing reference count on allocated JSON obects to prevent memory leak
2014-01-14 18:35:56 +02:00
Noel Maersk
e4680ab627
core: allow changing TCP keepalive packet idle time using tcp-keepalive
command-line option or config-file option.
...
This may be useful in certain scenarios. However, server load from keepalive
is increased 6-fold if code is hard-changed from 30 to 5. So, provide it as
an option instead, and use the previous value as a default (30).
Explanation from
015c064396
Kevin's middlecoin fix, CURL TCP keepalive constants lowered:
CURLOPT_TCP_KEEPIDLE from 45 to 5 and CURLOPT_TCP_KEEPINTVL from 30 to
5. Before it'd trigger a keepalive packet after 45 seconds of connection
idle time and then again every 30 seconds. Now it triggers a keepalive
packet after 5 seconds of connection idle time and then again every 5
seconds.
It makes the client more resilient against coin switching pools or just
pools with connection issues in general. It will however add a tiny bit
pressure to the pool server; but a TCP keepalive probe is only about
60-80 bytes, so I don't think it is an issue.
2014-01-12 19:45:31 +02:00
Con Kolivas
5d7c99f389
Revert "Return ETIMEDOUT regardless if we fail in cgsem_mswait since we may be waiting on it on shutdown and the return response is harmless."
...
This reverts commit 3dcae53e38
.
2013-11-06 00:24:16 +11:00
Con Kolivas
3dcae53e38
Return ETIMEDOUT regardless if we fail in cgsem_mswait since we may be waiting on it on shutdown and the return response is harmless.
2013-11-05 21:56:01 +11:00
Con Kolivas
759bd39f17
Avoid the extra generation of a byte flipped hash2 in struct work and directly use the LE work hash.
2013-11-02 11:07:44 +11:00
Con Kolivas
eaaf34a19d
Use a non blocking connect with a 1 second select timeout when initiating stratum to allow us to iterate over all IPs returned by getaddrinfo in round robin DNS pools.
2013-10-31 15:07:26 +11:00
Vitalii Demianets
f75fdbbbbe
Improve performance of work generation by optimizing hex2bin and bin2hex
...
sprintf is a very expensive function, do direct translation instead.
2013-10-29 21:56:08 +11:00
Con Kolivas
b424612cce
Use a sanity check on timeout on windows.
2013-10-27 13:35:47 +11:00
Con Kolivas
d342bcbe81
Provide a mechanism for informing drivers of updated work templates for stratum and gbt mining.
2013-10-25 11:57:27 +11:00
Con Kolivas
8dcbc86b97
Use windows' own higher resolution time and handlers allowing us to have higher precision absolute timeouts.
2013-10-23 10:19:04 +11:00
Con Kolivas
563cad189e
Fix lldiv error in windows cgminer_t calculation.
2013-10-23 09:13:50 +11:00
Con Kolivas
3956382450
Send pthread_cancel to failed completion_timeout that has timed out.
2013-10-18 22:04:21 +11:00
ckolivas
7838af1dc1
Remove unused variables.
2013-10-18 10:51:44 +11:00
ckolivas
0430165f7b
Fix cgcompletion return code and free on successful completion.
2013-10-18 10:26:31 +11:00
ckolivas
f826e35765
Provide a cg_completion_timeout helper function for unreliable functions that takes arbitrary functions and parameters and reliably returns.
2013-10-18 10:14:51 +11:00
Con Kolivas
c9c39ac14d
Give correct return code in cgsem_mswait
2013-10-14 11:44:13 +11:00
Con Kolivas
6e948d8750
Check for correct timeout error in cgsem_mswait
2013-10-14 11:34:08 +11:00
Con Kolivas
c75ce853a9
Implement a generic cgsem_mswait similar to sem_timedwait
2013-10-14 11:22:57 +11:00
Con Kolivas
d3c215fda6
Provide a lower level __bin2hex function that does not allocate memory itself.
2013-10-12 09:53:21 +11:00
Con Kolivas
7fbe999fa2
Drop logging level for failed to connect to stratum to verbose mode only since we hit it regularly.
2013-10-11 12:00:39 +11:00
Con Kolivas
97b5dd08b2
Limit ms_tdiff to 1 hour as a sanity check.
2013-10-07 23:34:48 +11:00
Con Kolivas
d5e9e08477
Prevent overflows in us_tdiff and ms_tdiff.
2013-10-07 23:33:14 +11:00
Con Kolivas
44b9cf50e3
Limit the duration we wait for reads in BF1 based on time already elapsed to account for other delays such as work restart messages or out of work.
2013-09-26 12:11:25 +10:00
Con Kolivas
466d3beca0
Provide a --disable-libcurl config option to build support for stratum mining only.
2013-09-21 22:49:28 +10:00
Con Kolivas
566a80f05b
Cast -1 to (char) to cope with different default char types on ARM.
2013-09-14 10:13:06 +10:00
Con Kolivas
f319d3b910
Use inet_addr instead of inet_network to fix windows build.
2013-09-10 07:02:16 +10:00
Con Kolivas
7570d885da
Remove unused pbase variable.
2013-09-08 19:54:18 +10:00
Con Kolivas
89c07fa5c7
Add support for socks4/4a proxies with stratum, and drop back to socks4 support via the global --socks-proxy command to not break previous configurations.
2013-09-08 16:32:44 +10:00
Con Kolivas
f652b1e291
Fix warning on mingw build.
2013-09-08 10:30:32 +10:00
Con Kolivas
770556cdec
Use the --socks-proxy option with stratum, changing it to defaulting to socks5 and give appropriate message should it fail to connect.
2013-09-07 09:39:03 +10:00
Con Kolivas
ddbd3ab78e
Cope with trailing slashes in stratum urls.
2013-09-07 09:14:12 +10:00
ckolivas
55249db361
Add more debugging messages when negotiating with proxies for stratum.
2013-09-06 13:41:40 +10:00
ckolivas
a589de5a8b
Test specifically for socks5h in socks support for stratum.
2013-09-06 10:28:36 +10:00
Con Kolivas
d7003ecccf
Add support for socks5 proxy with stratum
2013-09-06 09:21:46 +10:00
Con Kolivas
17019804c1
Provide support for negotiating a stratum connection via http proxies.
2013-09-06 00:34:04 +10:00
Con Kolivas
8fa01556f2
Connect to the proxy URL and port if specified for stratum sockets instead of the pool directly.
2013-09-05 23:21:42 +10:00
Con Kolivas
b783d94c6d
Extract any proxy url and port to be used by sockaddr if possible using extract_sockaddr.
2013-09-05 23:14:53 +10:00
Con Kolivas
8ede407df7
Make extract_sockaddr set variables passed to it rather than pool struct members.
2013-09-05 23:10:19 +10:00
Con Kolivas
83b5f62474
Don't decref json values in stratum parsing due to memory corruption.
2013-08-31 22:24:38 +10:00
Con Kolivas
bec40c5b68
Provide base structures for getaddrinfo.
2013-08-31 13:32:40 +10:00
Con Kolivas
c9c61e72c8
Fix win32 build.
2013-08-28 07:05:18 +10:00
Con Kolivas
036c7b73f1
Fix OSX build.
2013-08-25 16:34:07 +10:00
Con Kolivas
79ca14f5e8
Provide an osx fix for cgtimers and a fallback to timevals for all other platforms !linux !win32 !osx.
2013-08-25 15:17:34 +10:00
Con Kolivas
f009347e39
Move two more timer functions out of define macros to enable them to be used by future osx code.
2013-08-25 15:02:01 +10:00
Con Kolivas
ec881c41a4
cgtimer_sub is now the same since cgtimer_t should be the same on all platforms.
2013-08-25 14:59:35 +10:00
Con Kolivas
e1433f8ef8
Use timespecs on windows as cgtimer_t to capitalise on the higher resolution clock changes.
2013-08-22 13:49:22 +10:00
Con Kolivas
d8e2a43712
Abstract out the conversion of system time to an lldiv_t in decimicroseconds.
2013-08-22 12:55:09 +10:00
Con Kolivas
acc1b7df1b
Use our own gettimeofday implementation on windows for it to be consistent across ming builds and higher resolution.
2013-08-22 12:24:39 +10:00
Con Kolivas
903d007cb4
Provide cgtimer_sub helper functions.
2013-08-20 22:47:13 +10:00
Con Kolivas
9dc63cee53
Provide cgtimer_to_ms helper functions.
2013-08-20 22:35:38 +10:00
Con Kolivas
7d0c9b5060
Rename cgsleep_prepare_r as cgtimer_time to get time in cgtimer_t format and call cgsleep_prepare_r as a macro for cgtimer_time
2013-08-20 22:27:14 +10:00
Con Kolivas
ee2a5ae8f4
TimeBeginPeriod and TimeEndPeriod do not add significant overhead when run the entire time for cgminer so avoid trying to maintain balanced numbers of them for specific time calls to simplify code.
2013-08-20 20:46:09 +10:00
Con Kolivas
eeac9d81fc
Replace all references to the old n*sleep functions with the equivalent cgsleep_*s replacements.
2013-08-20 19:23:49 +10:00
Con Kolivas
7d448cd754
timeGetTime uses huge resources on windows so revert to using timevals for its implementation of cgtimer_t
2013-08-19 23:39:49 +10:00
Con Kolivas
0414bf0960
Quotient/remainder error in ms division.
2013-08-19 21:36:00 +10:00
Con Kolivas
b238139cf9
Provide cgtimer_to_timeval helper functions.
2013-08-19 17:44:45 +10:00
Con Kolivas
09679e9f8b
Provide a timeval_to_cgtime helper function to reuse values.
2013-08-19 17:38:20 +10:00
Con Kolivas
09e9091dd7
Simplify cgsleep code for windows by using a typedef for cgtimer_t that resolves to clock resolution, using that internally.
2013-08-19 13:54:56 +10:00
Con Kolivas
404cbdea84
On windows use the higher accuracy timegettime function to really get 1ms clock and timer accuracy.
2013-08-19 13:29:23 +10:00
Con Kolivas
ffa12a138a
Fix missed endtimeperiod in overrun timer on windows.
2013-08-18 14:39:26 +10:00
Con Kolivas
ad87db07d9
Make cgsleep_us_r take an int64_t for us.
2013-08-18 14:39:26 +10:00
Con Kolivas
703c7309c2
Make the cgsleep functions build on windows.
2013-08-18 14:39:26 +10:00
Con Kolivas
8114473228
Set high resolution timing on windows within the cgsleep functions.
2013-08-18 11:39:09 +10:00
Con Kolivas
621eb00309
Provide reentrant versions of cgsleep functions to allow start time to be set separately from the beginning of the actual sleep, allowing scheduling delays to be counted in the sleep.
2013-08-18 10:49:52 +10:00
Con Kolivas
0b5edb24f9
Make the nmsleep and nusleep functions use the new cgsleep functions internally till functions are migrated to the new cgsleep API.
2013-08-18 10:36:25 +10:00
Con Kolivas
188210a3d2
Add a ms_to_timespec helper function, and create a cgsleep_ms function that uses absolute timers with clock_nanosleep to avoid overruns.
2013-08-18 10:28:28 +10:00
Con Kolivas
99cbf09dd1
Add a timeraddspec helper function.
2013-08-18 00:38:29 +10:00
Con Kolivas
1bcd9a43b1
Provide a us_to_timespec helper function.
2013-08-18 00:34:01 +10:00
Con Kolivas
2278204ddd
Provide a us_to_timeval helper function.
2013-08-18 00:27:33 +10:00
Con Kolivas
a6b1c31742
Add helper functions to convert timespec to timeval and vice versa.
2013-08-18 00:19:47 +10:00
Con Kolivas
e95ad0479f
Nonce2 stratum submission is not working with nonce2 lengths >4, revert the buggy __bin2hex function and use bin2hex.
2013-08-13 22:44:22 +10:00
Con Kolivas
87ae66c7e6
Create a work data template when receiving stratum notification, allowing a simple memcpy of the merkle root avoiding more hex2bin conversions on each work generation.
2013-08-13 05:49:32 +10:00
Con Kolivas
46b6b07afa
Avoid a potential overflow should a pool specify a large nonce2 length with stratum.
2013-08-12 16:02:20 +10:00
Con Kolivas
5237bf350d
Perform merkle bin hex2bin on stratum notify to avoid doing it on each work generation.
2013-08-12 11:36:28 +10:00
Con Kolivas
8bc469e916
Reuse just the one pool coinbase variable in stratum, avoiding more string functions and storage in gen_stratum_work on each work generation.
2013-08-12 11:16:46 +10:00
Con Kolivas
c542e47aa3
Use a nonce2 offset variable for both gbt and stratum to consolidate requirements on work generation.
2013-08-12 10:49:38 +10:00
Kano
eca6ace2d5
util.c update quit call for new functions
2013-08-12 09:00:52 +10:00
Kano
bab9ba9603
use correct define for OSX in util.c
2013-08-12 08:58:20 +10:00
Kano
bd3612c104
util.c expand quit to show file/func/line
2013-08-12 08:38:02 +10:00
Kano
cf30053793
Merge remote-tracking branch 'conman/master'
2013-08-12 08:35:29 +10:00