Wladimir J. van der Laan 9a9a172210 test: Fix use-after-free in scheduler tests
Make a copy of the boost time-point to wait for, otherwise the head of
the queue may be deleted by another thread while this one is waiting,
while the boost function still has a reference to it.

Although this problem is in non-test code, this is not an actual problem
outside of the tests because we use the thread scheduler with only one
service thread, so there will never be threads fighting at the head of
the queue.

The old boost fallback escapes this problem because it passes a scalar
value to wait_until instead of a const object reference.

Found by running the tests in LLVM-4.0-master asan.

Github-Pull: #9186
Rebased-From: 12519bf62b8c49b1c1744eca6ea5b3162a61f962
2018-10-22 00:50:16 +03:00
2018-10-14 19:07:51 +03:00
2018-10-21 23:59:08 +03:00
2018-10-11 22:02:52 +03:00
2018-10-14 19:06:33 +03:00
2018-10-01 19:53:46 +03:00
2018-09-30 15:28:44 +03:00
2013-10-21 20:07:31 -04:00
2018-10-14 14:59:27 +03:00
2018-10-14 19:09:13 +03:00

Blackcoin More

https://blackcoin.org

What is Blackcoin?

Blackcoin is a decentralised digital currency with near-instant transaction speeds and negligible transaction fees built upon Proof of Stake 3.0 as introduced by the Blackcoin development team.

Blackcoin More is the name of open source software which enables the use of this currency. It takes Blackcoin to the next level by building upon Bitcoin Core 0.12.2 with some patches from newer Bitcoin Core versions to offer performance enhancements, wider compatibility with third party services and a more advanced base.

For more information, as well as an immediately useable, binary version of the Blackcoin More software, see https://blackcoin.org.

License

Blackcoin More is released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/licenses/MIT.

Development Process

The master branch is regularly built and tested, but is not guaranteed to be completely stable. Tags are created regularly to indicate new official, stable release versions of Blackcoin More.

Change log can be found in CHANGELOG.md.

The contribution workflow is described in CONTRIBUTING.md.

The best place to get started is to join the Development channel on Gitter: https://gitter.im/Blackcoin_Hub/Development

Testing

Testing and code review is the bottleneck for development; we get more pull requests than we can review and test on short notice. Please be patient and help out by testing other people's pull requests, and remember this is a security-critical project where any mistake might cost people lots of money.

Automated Testing

Developers are strongly encouraged to write unit tests for new code, and to submit new unit tests for old code. Unit tests can be compiled and run (assuming they weren't disabled in configure) with: make check

There are also regression and integration tests of the RPC interface, written in Python, that are run automatically on the build server. These tests can be run (if the test dependencies are installed) with: qa/pull-tester/rpc-tests.py

The Travis CI system makes sure that every pull request is built for Windows, Linux, and OS X, and that unit/sanity tests are run automatically.

Manual Quality Assurance (QA) Testing

Changes should be tested by somebody other than the developer who wrote the code. This is especially important for large or high-risk changes. It is useful to add a test plan to the pull request description if testing the changes is not straightforward.

Description
No description provided
Readme 48 MiB
Languages
C++ 66.4%
C 14.1%
Python 11.8%
M4 2.8%
Makefile 1.7%
Other 3.1%