Yet another algo_gate update.
I have slighly changed th eimplemetaion of algo_gate. Inseatd of every thread that
needs it defined its own and it was up to 7 seperate engines. No wthere is onlu one engine
defined in cpu-miner.c and only visible to it.
Well, that was an interesting, but failed, experiment, and a learning experience. It's back
to multiple gates.
I had defined a global static gate and initialized in in main before creating any threads,
but it kept segfaulting whenver trying to call a gate function, from a thread other than main.
Apparently the defined gate was not global. Each thread had its own private copy and only
one was initialized.
I thought it was simply a matter of initializing the gate in all threads but that didn't work either.
I thought this would work since the compiler bever complained about what I was doing.
I may not have done it properly. I may give that another try when the dust settles.
I eventually went back to each thread defining a local gate. Multiple copies of the same data
but wtf.
So we will have cpu threads +3 gates. The extra 3 are for main, stratum_thread and longpoll_thread.
It's a good thing the gate is lightweight.
Yet another concept with which I am familiar but with a completely foreign implementation.
I also added MH/s units for those high hashing algos. And I may be able to implemt a non aesni
version of cryptonight.