Removing external dependency on boost::signals2 #5261

pull sinetek wants to merge 1 commits into bitcoin:master from sinetek:sign changing 27 files +3030 −177
  1. sinetek commented at 9:54 AM on November 11, 2014: contributor

    I am proposing we phase out boost::signals2 in favour of the small/fast implementation contained in this commit. I ran the testsuite, there are no errors. I ran run time tests, no regressions. This does not touch consensus critical code.

    https://github.com/pbhogan/Signals Extremely efficient (based on delegates that generate only two lines of ASM code). No inheritance required. No third-party preprocessor required. Works seamlessly with global functions, object methods, virtual methods and static class methods. Very portable. This should work on any reasonable C++ compiler. Really simple to drop in and use. Implemented fully in templates.

  2. Removing external dependency on boost::signals2 39415a4213
  3. sinetek commented at 9:55 AM on November 11, 2014: contributor

    also fixed a bug where a .disconnect was missing in GUI code.

  4. laanwj commented at 10:40 AM on November 11, 2014: member

    Do you have any indication boost::signals is a bottleneck anywhere? Don't fix what is not broken.

    Also: this doesn't seem to have thread-safe connect/disconnect, unlike boost.

  5. fanquake commented at 12:46 PM on November 11, 2014: member

    @sinetek I'd suggest you split the .disconnect bugfix out of this pull request.

  6. sinetek commented at 9:13 PM on November 11, 2014: contributor

    I agree in principle that I shan't fix what isn't broken. This seemed a good idea at the time. I still don't like boost that much though. I'll split the bugfix out and submit.

  7. theuni commented at 11:53 PM on November 11, 2014: member

    As much as i dislike boost, agreed on not changing it without good reason. However, this might be worth revisiting after a move to c++11, since that opens the door to several other lightweight implementations.

  8. laanwj commented at 3:44 PM on November 12, 2014: member

    I'm completely sick of this "I don't like boost". Not liking boost doesn't mean that any random library or hand-rolled alternative is better. We also don't want to maintain every single thing as part of Bitcoin Core. There's a reason that utility libraries exist. Closing.

  9. laanwj closed this on Nov 12, 2014

  10. MarcoFalke locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-13 18:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me