Added symbol_len in iguana_coinchoose. Here was a sizeof(symbol)
in safecopy call args, but sizeof(char *) always = 8 on 64-bit systems,
as a result if symbol have more than 7 letters, like "VRSCTEST"
safecopy returns an error.
using a mutex to serialize all API requests causes unacceptable latency
in some cases. Not serialized can lead to queries into a dataset with
unstable state.
To fix this, all JSON requests are split into coin specific queues
whenever possible and the global queue is only used when the coin can’t
be determined from the JSON request.
Each coin’s main thread calls the iguana_jsonQ to process that coin’s
queue of requests only after all the dataset updates are complete to
assure only valid data is returned. Since any previous large latencies
were when a specific coin was updating its dataset and the dataset
can’t be safely accessed during that time, the delay in processing that
coin’s request doesn’t create any additional latency
this bug fix is in response to @pbca26 report of “iguana_pkhashbalance:
unexpected non-ptr lastpt” which is an error that is most likely caused
by accessing the dataset at the wrong time.