Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pull request #123

Merged
merged 6 commits into from
Aug 14, 2024
Merged

Pull request #123

merged 6 commits into from
Aug 14, 2024

Conversation

rneswold
Copy link
Contributor

This pull-request is the result of a logic block panicking. It occurred in a logic block that had no inputs and only used solar parameters. This pull request contains some code "improvements" that didn't fix the bug, but which I think are better than the original code.

- The `select!` macro uses the `biased` option so clauses are
  evaluated in order. The time-of-day and solar futures are placed
  first because they happen infrequently and we don't want high-speed
  devices starving these channels.
- For the solar channel, we now do more error reporting. This helped
  uncover a bug (fixed in a different commit.)
- Rather than returning Futures that return None, we now use the never
  resolving future.
This tests a logic block that only uses solar parameters for inputs.
When this channel was only 1 deep, logic blocks would occasionally get
a Lagging error which would cause them to panic. The logic block code
was improved, but the channel was enlarged so these error wouldn't
occur under normal circumstances.
A section was placed in a nested scope. This allowed us to remove two
calls to `std::mem::drop()`.
@rneswold rneswold merged commit 3d05a0d into DrMemCS:main Aug 14, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant