chronokings/huntercoin — pull request #15 by HunterMinerCrafter (2014-02-28 20:17:52+00:00)
Title: Mitigates boost/spirit json crash

This is a somewhat "rough around the edges" solution.

This introduces a global mutex around "read_range_or_throw" in boost/spirit headers. This mitigates (but does not entirely resolve) most of the parsing related crashing from getwork, getworkaux, etc occurring on the rpc thread at the same time as other parsing.

These crashes are a known-issue with the Spirit json headers, but is more or less considered "wontfix" by the boost team - pending a port of the parser to Spirit2. For more information see https://svn.boost.org/trac/boost/ticket/5520

We are working on another patch to replace the parser in use entirely, which should not only resolve all of the parsing related issue but also offer some performance benefits.

This work should also (eventually) be communicated upstream to NMC.