_mosquitto_destroy is canceling thread #166

Closed
jcavar opened this Issue May 18, 2016 · 2 comments

Projects

None yet

2 participants

@jcavar
Contributor
jcavar commented May 18, 2016

Hi again,
So we use our own threads with mosquitto. We are calling mosquitto_new from Thread 1 and mosquitto_loop_forever from Thread 2. Now, mosquitto_new assigns thread_self() as thread_id which is in our case Thread 1 id. _mosquitto_destroy calls then pthread_cancel on it so Thread 1 is canceled.

We were able to workaround this by moving everything to Thread 2, but I think mosquitto should destroy threads only in case mosquitto_loop_start is called which is signal to mosquitto to use its own threads.
Does this make sense?

@ralight ralight added a commit that referenced this issue May 18, 2016
@ralight ralight [166] Don't cancel external threads.
libmosquitto shouldn't cancel threads it didn't create. This change
allows us to keep track of whether threads were created by the library
or by external code.

Thanks to Josip Ćavar.

Bug: #166
e8185dd
@ralight
Contributor
ralight commented May 18, 2016

Yes, I agree. This should be fixed now. Thanks for the report.

@ralight ralight closed this May 18, 2016
@jcavar
Contributor
jcavar commented May 18, 2016

Great, thank you for fixing it this fast!

@ralight ralight added this to the 1.4.9 milestone May 19, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment