pyqt5_enable_new_onexit_scheme vs. threads
Zach Pincus <[email protected]>
| Newsgroups | gmane.comp.python.pyqt-pykde |
|---|---|
| Message-ID | <CAD-Q3rmcxOMkaMSiEO60q6wJ4V06EyoR52gzM8hS-U5GiTFp5Q@mail.gmail.com> |
Hello, As requested, I tested out pyqt5_enable_new_onexit_scheme(True) with my application on PyQt 5.13.1. At exit, I get the following error: QThread: Destroyed while thread is still running and a segfault. The application spins up a background QThread that currently has no provision for exiting on termination. (It exists to upload textures to an offscreen OpenGL context, and otherwise is just blocked waiting for a new texture to upload.) Without the new onexit scheme, this works just fine. I'm sure this reveals a design flaw in the original application (the thread should probably try to exit cleanly, rather than just die during application exit), but this is at least one case where the new onexit scheme will cause errors to crop up that did not exist before. What would be the best way to make the thread exit cleanly? At atexit python callback that sets a flag to make the thread exit and then waits on the thread? Or connecting (something?) to the aboutToQuit signal that does the same? Or should the new onexit scheme not touch threads in the first place? Thanks, Zach _______________________________________________ PyQt mailing list [email protected] https://www.riverbankcomputing.com/mailman/listinfo/pyqt