<div dir="ltr">Zach,<div><br></div><div>First of all, thanks to test out as suggested. That said, I'm sure it'd be helpful for pyqt devs if you provided a <a href="http://sscce.org/">http://sscce.org/</a> as well</div><div>as the environment you used to test.</div><div><br></div><div>Thanks in advance.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 18, 2019 at 7:13 PM Zach Pincus <<a href="mailto:zpincus@gmail.com">zpincus@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello,<br>
<br>
As requested, I tested out  pyqt5_enable_new_onexit_scheme(True) with<br>
my application on PyQt 5.13.1.<br>
<br>
At exit, I get the following error:<br>
QThread: Destroyed while thread is still running<br>
and a segfault.<br>
<br>
The application spins up a background QThread that currently has no<br>
provision for exiting on termination. (It exists to upload textures to<br>
an offscreen OpenGL context, and otherwise is just blocked waiting for<br>
a new texture to upload.) Without the new onexit scheme, this works<br>
just fine.<br>
<br>
I'm sure this reveals a design flaw in the original application (the<br>
thread should probably try to exit cleanly, rather than just die<br>
during application exit), but this is at least one case where the new<br>
onexit scheme will cause errors to crop up that did not exist before.<br>
<br>
What would be the best way to make the thread exit cleanly? At atexit<br>
python callback that sets a flag to make the thread exit and then<br>
waits on the thread? Or connecting (something?) to the aboutToQuit<br>
signal that does the same? Or should the new onexit scheme not touch<br>
threads in the first place?<br>
<br>
Thanks,<br>
Zach<br>
_______________________________________________<br>
PyQt mailing list    <a href="mailto:PyQt@riverbankcomputing.com" target="_blank">PyQt@riverbankcomputing.com</a><br>
<a href="https://www.riverbankcomputing.com/mailman/listinfo/pyqt" rel="noreferrer" target="_blank">https://www.riverbankcomputing.com/mailman/listinfo/pyqt</a><br>
</blockquote></div>