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

Call-by-reference bei Plugin Aufruf (Async-Mode) #375

Closed
Schrolli91 opened this issue Sep 8, 2018 · 0 comments
Closed

Call-by-reference bei Plugin Aufruf (Async-Mode) #375

Schrolli91 opened this issue Sep 8, 2018 · 0 comments

Comments

@Schrolli91
Copy link
Owner

Schrolli91 commented Sep 8, 2018

Thread(target=processAlarm, args=(typ, freq, data)).start()

Es wird das Plugin in einem neuen Thread gestartet. Wie es aussieht werden die Variablen aber direkt übergeben, was in Python meines Wissens nach ein call-by-reference. Sprich, wenn der nächste Alarm reinkommt, dass Plugin aber nicht fertig ist, kann es wohl passieren, das sich der Inhalt der Variablen zur Laufzeit des Plugins ändert.

Lösung: Die Variablen sollten beim Übergeben an die Plugins KOPIERT werden, statt auf die Original Referenz zu verweisen.
Am besten sowohl beim async, als auch beim normalen.

https://boswatch.de/index.php?thread/75-einfluss-von-time-sleep-in-plugins-auf-die-ausf%C3%BChrung-von-boswatch/&postID=533#post533

@Schrolli91 Schrolli91 changed the title Call-by-reference bei Plugin Aufruf Call-by-reference bei Plugin Aufruf (Async-Mode) Sep 8, 2018
f-kessler added a commit to f-kessler/BOSWatch that referenced this issue Mar 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant