| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This consists of the following changes:
1. Add a top_block parameter to control exception handling
This restores past behavior where the scheduler catches exceptions
raised in block threads, allowing flowgraphs to continue running after
the failure of an individual block. It also adds optional new behavior,
selected by setting catch_exceptions=False to the top block, which causes
exceptions to not be caught. In this mode of operation, a std::terminate
handler can be installed to print a stack trace before the flowgraph exits.
2. Add terminate_handler to top_block_impl
This adds a terminate_handler function that prints information
about any uncaught exceptions and also attempts to print a backtrace
for said exception after which it calls std::abort. The backtrace is
printed via libunwind, which is a new optional dependency. If libunwind
is not found/installed, then the terminate handler will still print
information about the exception and then exit.
Co-Authored-By: Scott Torborg <storborg@gmail.com>
|
|
|
|
|
|
|
| |
Adds ability for master to build with newer Thrift versions
by checking availability of thrift include files.
(Also spelling fix: Thift -> Thrift)
And fix up logging for rpcserver_thrift class.
|
|
|
|
| |
Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
|
|
|
|
| |
Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
|
|
|
|
| |
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
| |
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Mostly done with:
```
find -name "*_impl.h" | xargs sed -i -r '/(void forecast|int work|int general_work|bool check_topology)\(/{:back /\)/b nxt;N;b back;:nxt s/\)$|\)(;)/) override\1/g}'
```
Then I removed an incorrect `work` that this found.
|
|
|
|
|
| |
Neither of these files use the gru module anymore. I've tested that they
work correctly after removing the unused imports.
|
|
|
|
|
|
| |
find ./ -iname qa*.py | xargs autopep8 --in-place -a -a
mostly formats whitespace and gets rid of trailing semicolons
|
| |
|
|
|
|
|
|
|
| |
These were added in GNU Radio 3.1.3, but a Google search finds no
mention of gru.daemonize outside of the changelog. Modern Python
programs could use the python-daemon library, which implements the
daemon specification of PEP 3143.
|
|
|
|
|
| |
The recent libsndfile transition changed the API of the wavfile_sink
block, so the two examples that use it need to be updated.
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Derek Kozel <derek@bitstovolts.com>
|
|
|
|
|
|
|
| |
* Fix various typos
Found via `codespell v2.0.dev`
`codespell -q 3 -L ans,fo,hist,inout,ist,ith,nd,sinc,uint -S ./volk`
|
| |
|
|
|
|
| |
impact is very small, on the order of 10's of kB.
|
|
|
|
| |
implmentation is slightly faster and has been tested to have similar distribution with arbitrary input data
|
|
|
|
|
| |
This removes a few compilation errors in Windows related to logging
functions (see PR #3339).
|
| |
|
| |
|
|
|
|
|
|
| |
The last reference to HAVE_SNPRINTF was removed in
a75f0c40fe0912535fe102792f27c13d01df8e3e so it should now be safe to
remove it.
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| | |
INSTALL_INTERFACE
|
| |
| |
| |
| | |
currently there is nothing to check the absolute accuracy of PMT serialization, and it is easy for changes to break this provided serialize_str() and deserialize_str() are inverse functions. this provides some absolute reference PMT strings to ensure compatibility is retained.
|
| |
| |
| |
| | |
per 3.8 behavior, and the GR wiki, the __repr__ function of a PMT object should be overloaded to call pmt::write_string. This is currently not bound so this adds this binding.
|
|/ |
|
|
|
|
| |
Fixes an incorrectly named Doxygen parameter.
|
|
|
|
|
| |
This fixes compilation with MSVC on conda-forge, although why this
wasn't needed earlier is a mystery.
|
|
|
|
| |
This changes how the blocks are identified when they need to be notified that they have messages waiting. It also clarifies the name the block is registered with explicitly, and adds exceptions for looking up blocks that do not exist.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All of the removed `from __future__ import` were needed in older
versions of Python (mostly 2.5.x and below) but later became mandatory
in most versions of Python 3 hence are not necessary anymore.
More specifically, according to __future__.py[1]:
- unicode_literals is part of Python since versions 2.6.0 and 3.0.0;
- print_function is part of Python since versions 2.6.0 and 3.0.0;
- absolute_import is part of Python since versions 2.5.0 and 3.0.0;
- division is part of Python since versions 2.2.0 and 3.0.0;
Get rid of those unnecessary imports to slightly clean up the codebase.
[1] https://github.com/python/cpython/blob/master/Lib/__future__.py
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First batch of changes:
```
find […] -print0 | xargs -0 sed -i -r '/get_initial_sptr/{:nxt N;/;/!b nxt;s/get_initial_sptr\(\s*new ([^(]+)(.*)\)\)/make_block_sptr<\1>\2)/}'
```
Then:
* Back out `sptr_magic.h` edits
* Change some `friend` clauses
* clang-format the whole thing
* Update checksums in the pybind11 bindings files
|
|
|
|
|
| |
This includes the first edit of a block, so that it's easy to review.
A following commit changes this globally.
|
|
|
|
|
| |
std::for_each() is defined in <algorithm>, so that if it is not
included, it doesn't build in some platforms
|
|
|
|
|
| |
This solves the issue of gr.enable_realtime_scheduling() failing because
rt_status_t wasn't wrapped without.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
With this commit, all calls to `set_msg_handler` in `gr-blocks` use
lambdas. This helps to use `std::function` instead of `boost::function`.
|
|
|
|
|
|
|
| |
This commit is a first stab at moving from `boost::function` to `std::function`.
For now, it does only update gr-blocks. Also, this requires more testing.
If others can confirm that this change works, I'll continue to update all modules.
|
| |
|
| |
|