On Tue, Feb 13, 2018 at 11:20:39AM +0100, Hannes Reinecke wrote: > On 02/13/2018 04:42 AM, Benjamin Marzinski wrote: > I would rather set 'ct->running' from within the thread; otherwise there > is a chance that pthread_create() returns without error, but the thread > itself hasn't been run yet. That worry is why I put ct->running where I did. If pthread_create returns without an error, but ct->running isn't set yet because the thread sets it, and it hasn't run yet, then it can appear to the checker as if the thread has already completed. This can cause it to return the results of the thread before it actually has completed, and potentially even start up a new thread, which would really mess with the value of ct->running. On the other hand, if you set running before starting the thread, the checker won't do anything until the it hits the timeout, at which point it will cancel the thread. We are guaranteed that if pthread_create returns successfully, we have the correct Thread ID to cancel the thread with, so there's no problem with cancelling a thread that hasn't run. Am I missing something here? -Ben > > Cheers, > > Hannes > -- > Dr. Hannes Reinecke Teamlead Storage & Networking > hare@xxxxxxx +49 911 74053 688 > SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg > GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton > HRB 21284 (AG Nürnberg) > > -- > dm-devel mailing list > dm-devel@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/dm-devel -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel