python-can icon indicating copy to clipboard operation
python-can copied to clipboard

`send_periodic` does not accept `on_error` callback, resulting in race condition

Open andebjor opened this issue 3 years ago • 0 comments

Describe the bug

When setting up a periodic send task there is no way to configure the on_error callback in the task. Therefore, if the very first send attempt in the task fails, the task is aborted. This can happen before the user is able to add a callback to the newly created task. Thus there is a race condition between creating the task and sending the first message, and adding the callback.

To Reproduce

Open a bus and create a periodic task. If sending to the bus fails, the task is aborted due to no callback being configured.

Expected behavior

An argument is added to send_periodic such that the callback can be set in the constructor of the task.

andebjor avatar Mar 14 '22 10:03 andebjor