Con Kolivas
|
8e2becc12d
|
Change pth from being a pointer as we can dereference if we're unlucky on stopping longpoll.
|
13 years ago |
Con Kolivas
|
833e020dfd
|
Standardise the way all non-mining threads are destroyed to make sure we can safely cancel them, freeing ram and NULLifying pointers.
|
13 years ago |
Luke Dashjr
|
1f15d7eafa
|
Advertise rollntime extension support
Thanks to raijin for testing!
|
13 years ago |
Con Kolivas
|
a0a5858d15
|
Use the presence of X-Roll-Ntime in the header as a bool for exists unless N is found in the response.
|
13 years ago |
Con Kolivas
|
5d845f2fb1
|
If curl does not have sockopts, do not try to compile the json_rpc_call_sockopt_cb function, making it possible to build against older curl libraries.
|
13 years ago |
Con Kolivas
|
a593afdbeb
|
Use the curses_lock to protect the curses_active variable and test it under lock.
|
13 years ago |
Con Kolivas
|
437d6f05cc
|
Disable curl debugging with opt protocol since it spews to stderr.
|
13 years ago |
Con Kolivas
|
91a2e7012b
|
Actually check the value returned for the x-roll-ntime extension to make sure it isn't saying N.
|
13 years ago |
Con Kolivas
|
666fcc3f55
|
Move staged threads to hashes so we can sort them by time.
|
13 years ago |
Con Kolivas
|
dfec430cb8
|
Make the tcp setsockopts unique to linux in the hope it allows freebsd et. al to compile.
|
13 years ago |
Con Kolivas
|
d89a6c57b1
|
Since we check roll time per work item now, it need only be debug log level.
|
13 years ago |
Con Kolivas
|
3edc1dfe2a
|
Test at appropriate target difficulty now.
|
13 years ago |
Con Kolivas
|
1e77f04481
|
Clean up the longpoll management to ensure the right paths go to the right pool and display whether we're connected to LP or not in the status line.
|
13 years ago |
Con Kolivas
|
426f72dec7
|
As we have keepalives now, blaming network flakiness on timeouts appears to have been wrong.
Set a timeout for longpoll to 1 hour, and most other network connectivity to 1 minute.
|
13 years ago |
Con Kolivas
|
657812ada4
|
Probe for slightly longer for when network conditions are lagging.
|
13 years ago |
Con Kolivas
|
d6dd5d700b
|
Test each work item to see if it can be rolled instead of per-pool and roll whenever possible, adhering to the 60 second timeout.
|
13 years ago |
Con Kolivas
|
5f667e7eab
|
Get rid of extra line feeds.
|
13 years ago |
Con Kolivas
|
53e05c6413
|
Log to the output file at any time with warnings and errors, instead of just when verbose mode is on.
|
13 years ago |
Con Kolivas
|
0006eb2da4
|
Make the "quiet" mode still update the status and display errors, and add a new --real-quiet option which disables all output and can be set once while running.
|
13 years ago |
Con Kolivas
|
e82e390295
|
If work has been cloned it is already at the head of the list and when being reinserted into the queue it should be placed back at the head of the list.
|
13 years ago |
Con Kolivas
|
98f609b5be
|
Sanity check to prove locking.
|
13 years ago |
Con Kolivas
|
a187fe1e7b
|
Try to do every curses manipulation under the curses lock.
|
14 years ago |
Con Kolivas
|
5f54e164c9
|
Only use the sockoptfunction if the version of curl is recent enough.
|
14 years ago |
Con Kolivas
|
401983136c
|
Do away with GET for dealing with longpoll forever. POST is the one that works everywhere, not the other way around.
|
14 years ago |
Ycros
|
0c25ff8416
|
OSX: fix setsockopt compile bug
|
14 years ago |
Ycros
|
d37c3fe56b
|
Win32 threading and longpoll keepalive fixes.
|
14 years ago |
Con Kolivas
|
fe8b041654
|
Make --no-longpoll work again.
|
14 years ago |
Con Kolivas
|
b0a8f279f7
|
Implement the ability to live add, enable, disable, and switch to pools.
|
14 years ago |
Michael Kedzierski
|
d987006cd8
|
TCP KEEPALIVE support for long polling.
|
14 years ago |
Con Kolivas
|
b56ed74867
|
When json rpc errors occur they occur in spits and starts, so trying to limit them with the comms error bool doesn't stop a flood of them appearing. Make the json errors LOG_INFO level instead so they don't normally show up.
|
14 years ago |
Con Kolivas
|
81ff7fb3dc
|
Explicitly probe each pool to see if work can be retrieved from it and what it supports.
|
14 years ago |
Con Kolivas
|
913e120262
|
Test for rolltime and save it correctly when testing for longpoll.
|
14 years ago |
Con Kolivas
|
0ce3df10d2
|
Store whether each server supports X-Roll-Ntime or not.
|
14 years ago |
Con Kolivas
|
321c4798d4
|
Make longpoll switch servers should it not match the current pool.
|
14 years ago |
Con Kolivas
|
cdc72daed9
|
Some servers regularly return empty responses. Drop the message from ERR to INFO.
|
14 years ago |
Con Kolivas
|
44c975be65
|
Long timeouts are causing reset connections and longpoll can recover if the connection needs to be restarted, so remove the timeout settings.
|
14 years ago |
Con Kolivas
|
0c253734e1
|
Provide a control lock around global bools to avoid racing on them.
|
14 years ago |
Con Kolivas
|
6e30c0701c
|
longpoll seems to work either way with post or get but some servers prefer get so change to httpget.
|
14 years ago |
Con Kolivas
|
579bd42919
|
Revert "Change get_work to use a timeout when trying to tq_pop as a sanity failsafe in case of unusual circumstances."
This reverts commit 7b9b078114 .
Conflicts:
util.c
Timeout was a bandaid for other going-idle reasons and never helped. Revert it.
|
14 years ago |
Con Kolivas
|
c36cc61f64
|
Ensure we connect at least once successfully before continuing to try to connect.
|
14 years ago |
Con Kolivas
|
e21e923648
|
Make the curses interface optional with a new --text-only -T option.
|
14 years ago |
Con Kolivas
|
e335d5211f
|
Cope with servers that return empty bodies that would otherwise crash jansson.
|
14 years ago |
Con Kolivas
|
24fa8202a7
|
Revert "Longpoll is not supposed to use POST and this could be leading to longpoll failures."
This reverts commit ad0be6cfbe .
Wrong fix and probably an inappropriate thing to do anyway.
|
14 years ago |
Con Kolivas
|
10d66b2437
|
Fix isatty being undefined.
|
14 years ago |
Con Kolivas
|
7b9b078114
|
Change get_work to use a timeout when trying to tq_pop as a sanity failsafe in case of unusual circumstances.
|
14 years ago |
Con Kolivas
|
ad0be6cfbe
|
Longpoll is not supposed to use POST and this could be leading to longpoll failures.
|
14 years ago |
Con Kolivas
|
43ef5f5d3f
|
Get rid of the flaky time_lock and use the thread safe localtime_r instead.
|
14 years ago |
Con Kolivas
|
231cd4fd9e
|
va list needs to be copied as it's invalidated either way.
|
14 years ago |
Con Kolivas
|
73a864c51c
|
vfprintf invalidates the va args so do it after the curses output.
|
14 years ago |
Con Kolivas
|
90839cdf5a
|
Implement a completely curses based display and don't output to stderr when log is enabled unless it's redirected away from the terminal.
|
14 years ago |