thodg/cgminer/util.c

Branch :


Log

Author Commit Date CI Message
1a43f795 2012-07-01 12:02:10 Mingw doesn't support asprintf, use sprintf.
1e942147 2012-07-01 10:44:23 Timersub is supported on all build platforms so do away with custom timerval_subtract function.
75ea6164 2012-07-01 10:35:08 Minor style police on util.c
8f954d40 2012-07-01 10:17:12 Get rid of unused result warning with asprintf.
3267b534 2012-06-28 10:43:52 Implement rudimentary X-Mining-Hashrate support.
c5a21fab 2012-06-23 23:43:22 Extend nrolltime to support the expiry= parameter. Do this by turning the rolltime bool into an integer set to the expiry time. If the pool supports rolltime but not expiry= then set the expiry time to the standard scantime.
268039cc 2012-04-28 00:32:47 Indentation clean up.
eda38299 2012-04-27 11:58:47 Create one longpoll thread per pool, using backup pools for those pools that don't have longpoll. Use the work created from the longpoll return only if we don't have failover-enabled, and only flag the work as a longpoll if it is the current pool. This will work around the problem of trying to restart the single longpoll thread on pool changes that was leading to race conditions. It will also have less work restarts from the multiple longpolls received from different pools.
9609dbc4 2012-04-20 21:09:37 Set lp_path to NULL after free for consistency.
17b9baa9 2012-04-20 03:36:42 Removing dmalloc import left behind by mistake
44bcb69c 2012-04-19 14:45:40 Fixing leak in resp_hdr_cb Memory is allocated for key and val, and longpoll address, when found, is stored in the header_info and prevented from being freed there. This pointer is stored during pool probing but once that's done it was just being lost. Not so visible but also leaking was the refuse reason string.
ed8382c8 2012-03-12 14:56:05 Make curses TUI support optional at compile-time.
d1cddf8b 2012-02-21 22:23:07 Update licensing to GPL V3.
f4284a21 2012-02-21 09:20:31 Set the lp_sent variable under lock since there will almost always be a race on setting this variable, potentially leading to multiple LPs being sent out.
fe4b5e1f 2012-02-20 08:24:41 Set the lp_sent bool earlier to minimise the number of extra longpolls sent out.
39906718 2012-02-19 22:07:31 Keep track of when a longpoll has been sent for a pool and if the current pool is requesting work but has not sent a longpoll request, convert one of the work items to a longpoll as we may have switched pools but still be using the longpoll from the previous pool.
810ad045 2012-02-18 23:16:08 More copyright updates.
be9db9ce 2012-02-18 23:00:21 Copyright updates.
06721957 2012-02-18 16:34:06 Freeze the queues on all threads that are sent the pause message to prevent them trying to start up again with saved pings in their queues.
3d3a3a2f 2012-02-15 21:42:12 Fix unused warnings on win32.
9631c0b0 2012-02-13 21:46:14 Fix initialization warning with jansson 1.3
56907db2 2012-02-12 18:21:30 Fix harmless warnings with -Wsign-compare to allow cgminer to build with -W.
11123848 2012-02-12 17:53:50 Fix missing field initialisers warnings.
07c2ee53 2012-02-12 17:00:44 Put win32 equivalents of nanosleep and sleep into compat.h fixing sleep() for adl.c.
e0fec357 2012-02-11 19:31:34 modularized logging, support for priority based logging Functions related to logging are extracted into dedicated source files for better maintainability. The existing low-level logging API is extended with a generalized scheme providing log functions log_{error, warning, notice, info, debug} that log messages based on a global opt_log_level. opt_log_level for now is set to LOG_NOTICE and might be modified via command line options or config files in future releases.
405a2120 2012-02-11 20:11:18 Remove unnecessary check for opt_debug on every invocation of applog at LOG_DEBUG and place the check in applog().
b706da93 2012-02-11 14:55:12 Merge branch 'reject_reason' of https://github.com/luke-jr/cgminer into reject
5b476100 2012-02-09 21:54:23 Move from the thread safe localtime_r to regular localtime which is the only one supported on newer pthread libraries on mingw32 to make it compile with the newer ming. Thread safety is of no importance where localtime is used in this code.
f7a9897e 2012-01-26 00:07:42 Display X-Reject-Reason, when provided
de4c6c29 2012-02-06 18:12:22 Provide support for the submitold extension on a per-pool basis based on the value being detected in a longpoll.
e57ac017 2012-02-05 22:43:42 Remove unused get_dondata function.
36d2fa48 2012-02-05 22:39:28 Silence unused parameter warnings.
13fa5772 2012-02-04 20:04:49 Probe but don't set the timeout to 15 seconds as some networks take a long time to timeout.
1832b20c 2012-02-04 20:04:07 Revert "Some networks can take a long time to resolve so go back to 60 second timeouts instead of 15." This reverts commit c86a670ce6d264fba10a38f68d65e4b4ab27cba6. This changed more than just the timeout.
c86a670c 2012-02-04 13:06:04 Some networks can take a long time to resolve so go back to 60 second timeouts instead of 15.
bdec295f 2012-01-30 17:58:22 Set the latest network access time on share submission for --net-delay even if we're not delaying that submission for further network access.
b188157c 2012-01-30 16:43:14 Resume advertising midstate support
3de7c7f9 2012-01-30 15:51:46 Stop advertising midstate support until it's fixed.
09184720 2012-01-30 15:09:58 As share submission is usually staggered, and delays can be costly, submit shares without delay even when --net-delay is enabled.
82af288e 2012-01-29 22:57:29 Revert "Fix various harmless warnings." This reverts commit a4b67f030fc0c7e2b18e79114a441c1e1617d5f8.
a4b67f03 2012-01-29 21:06:17 Fix various harmless warnings.
fe88648e 2012-01-24 18:10:38 Advertise longpoll support in X-Mining-Extensions
6442c1ab 2012-01-22 20:36:57 Style police.
21633b9b 2012-01-21 15:12:45 Bringing back TCP_NODELAY, but also ensuring it doesn't conflict with --net-delay : Nagle's may infact delay some packets longer than necessary..
e15d57d7 2012-01-22 09:36:21 Implement socks4 proxy support.
5179d224 2012-01-20 15:36:42 Introduce a --net-delay option which guarantees at least 250ms between any networking requests to not overload slow routers.
ebe21db3 2012-01-17 22:05:20 Advertise that we can make our own midstate, so the pool can skip generating it for us
4cf433c9 2012-01-17 16:21:08 Remove TCP_NODELAY from curl options as many small packets may be contributing to network overload.
638c8c52 2012-01-01 14:21:22 Make curl use a fresh connection if the json rpc call fails for any reason in case curl is relying on dead persistent connections.
19e373b8 2011-12-30 11:31:16 All threads are detached so there is no need to join them and it may dereference causing crash on exit.
5033dcd3 2011-12-27 18:33:49 fix test/set of thr->pth to also work in windows
2257b502 2011-12-27 11:37:30 Simplify longpoll changeover to just check which pool it should grab its next longpoll from. This should prevent locking hangs and thread cancellation crashes.
a51514d9 2011-12-27 10:30:04 White space cleanup.
b69aa234 2011-12-26 10:49:27 Use control_lock to protect thr->pth for thread creation/destruction.
59293a37 2011-12-26 09:29:16 Only pthread_join when pthread_cancel does not return an error.
13c40f75 2011-12-25 00:06:25 Zero all pthread_t identities upon cancelling threads.
689f8abb 2011-10-09 12:33:54 Try to use SSL if the server supports it.
4128b954 2011-09-26 18:49:15 Add a --donation feature which reads a url/userpass from the author's site and contributes a percentage of getworks to the author, but default to off.
ba14a670 2011-09-21 21:45:24 Remove EOL spaces from stderr and curses
8ecd15a6 2011-09-20 16:19:21 Add BLOCK! notification and remove end of line blanks when not needed
b8ea0dd1 2011-09-17 13:23:58 Update curses logging to allow LOG_WARNING and LOG_ERR messages to still go through while within the menu, and drop share message to LOG_NOTICE.
8e2becc1 2011-09-15 11:45:24 Change pth from being a pointer as we can dereference if we're unlucky on stopping longpoll.
833e020d 2011-09-15 10:33:23 Standardise the way all non-mining threads are destroyed to make sure we can safely cancel them, freeing ram and NULLifying pointers.
1f15d7ea 2011-09-09 17:52:21 Advertise rollntime extension support Thanks to raijin for testing!
a0a5858d 2011-09-06 12:00:40 Use the presence of X-Roll-Ntime in the header as a bool for exists unless N is found in the response.
5d845f2f 2011-09-02 10:13:33 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.
a593afdb 2011-08-31 13:23:36 Use the curses_lock to protect the curses_active variable and test it under lock.
437d6f05 2011-08-26 13:32:41 Disable curl debugging with opt protocol since it spews to stderr.
91a2e701 2011-08-26 12:12:54 Actually check the value returned for the x-roll-ntime extension to make sure it isn't saying N.
666fcc3f 2011-08-24 08:06:15 Move staged threads to hashes so we can sort them by time.
dfec430c 2011-08-22 08:04:30 Make the tcp setsockopts unique to linux in the hope it allows freebsd et. al to compile.
d89a6c57 2011-08-18 21:35:05 Since we check roll time per work item now, it need only be debug log level.
3edc1dfe 2011-08-17 22:33:46 Test at appropriate target difficulty now.
1e77f044 2011-08-17 12:43:39 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.
426f72de 2011-08-16 10:27:19 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.
657812ad 2011-08-16 10:15:47 Probe for slightly longer for when network conditions are lagging.
d6dd5d70 2011-08-14 01:54:47 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.
5f667e7e 2011-07-30 13:36:08 Get rid of extra line feeds.
53e05c64 2011-07-28 19:55:54 Log to the output file at any time with warnings and errors, instead of just when verbose mode is on.
0006eb2d 2011-07-28 10:36:48 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.
e82e3902 2011-07-27 16:40:52 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.
98f609b5 2011-07-27 10:31:44 Sanity check to prove locking.
a187fe1e 2011-07-25 13:00:44 Try to do every curses manipulation under the curses lock.
5f54e164 2011-07-25 10:58:32 Only use the sockoptfunction if the version of curl is recent enough.
40198313 2011-07-24 17:34:57 Do away with GET for dealing with longpoll forever. POST is the one that works everywhere, not the other way around.
0c25ff84 2011-07-23 17:11:16 OSX: fix setsockopt compile bug
d37c3fe5 2011-07-22 23:43:26 Win32 threading and longpoll keepalive fixes.
fe8b0416 2011-07-22 12:22:55 Make --no-longpoll work again.
b0a8f279 2011-07-22 11:46:26 Implement the ability to live add, enable, disable, and switch to pools.
d987006c 2011-07-20 23:48:06 TCP KEEPALIVE support for long polling.
b56ed748 2011-07-19 23:06:11 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.
81ff7fb3 2011-07-19 13:01:08 Explicitly probe each pool to see if work can be retrieved from it and what it supports.
913e1202 2011-07-19 12:29:33 Test for rolltime and save it correctly when testing for longpoll.
0ce3df10 2011-07-19 11:45:58 Store whether each server supports X-Roll-Ntime or not.
321c4798 2011-07-19 10:53:04 Make longpoll switch servers should it not match the current pool.
cdc72dae 2011-07-19 09:26:23 Some servers regularly return empty responses. Drop the message from ERR to INFO.
44c975be 2011-07-19 01:39:22 Long timeouts are causing reset connections and longpoll can recover if the connection needs to be restarted, so remove the timeout settings.
0c253734 2011-07-18 10:12:38 Provide a control lock around global bools to avoid racing on them.
6e30c070 2011-07-17 14:39:53 longpoll seems to work either way with post or get but some servers prefer get so change to httpget.
579bd429 2011-07-15 08:53:05 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 7b9b0781146dde69378d53bafd3c8817fb8909e9. Conflicts: util.c Timeout was a bandaid for other going-idle reasons and never helped. Revert it.