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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.