Skip to content
New issue

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

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

Already on GitHub? # to your account

gpio: Fix JS binding regarding interrupt injections #1102

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jan-kiszka
Copy link
Contributor

According to libuv/libuv#3847 and based on stress tests, it is not correct to call uv_queue_work outside of the loop thread. We rather need to use the async API of libuv. That even simplifies things.

Resolves "uv__queue_done: Assertion `uv__has_active_reqs(req->loop)' failed" errors that were easy to trigger by multiple DIs being used in parallel. See also siemens/meta-iot2050#386.

Set to draft status as more testing might still be needed, including at our users. But early feedback would definitely be welcome!

According to [1] and based on stress tests, it is not correct to call
uv_queue_work outside of the loop thread. We rather need to use the
async API of libuv. That even simplifies things.

Resolves "uv__queue_done: Assertion `uv__has_active_reqs(req->loop)' failed"
errors that were easy to trigger by multiple DIs being used in parallel.
See also [2].

[1] libuv/libuv#3847
[2] siemens/meta-iot2050#386

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
jan-kiszka added a commit to siemens/meta-iot2050 that referenced this pull request Dec 5, 2022
See the included patch for more details. Related mraa PR is
eclipse/mraa#1102.

Fixes #386

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
@jan-kiszka jan-kiszka marked this pull request as ready for review December 8, 2022 09:50
@jan-kiszka
Copy link
Contributor Author

Looks good from out tests now.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant