I totally agree that QThread has a bunch of great features that may make handling of these types of things easier. But, as you point out, it would involve us adopting more of the Qt model. Using more QObjects, etc. I'm not opposed to that idea, but I think it's a decision we should make in the larger context of the code base and after a more thorough design discussion.

I agree that what I added is handled by Qt in a more thorough manner. So in no way am I suggesting that my implementation is better. But my implementation is more consistent with the style of the existing code base (which is actually mostly just a C function for the thread loops, but they all have this same design pattern... I just lifted the threadRoutine() from the many copies we have throughout the code base.)

So, anyway, I guess I'm saying... I'd like to merge this as is, but have a deeper design discussion (and we should loop in Philip since I'm sure he'll have an opinion) about if/when/how we would want to migrate the entire code base to using more Qt constructs.