Hi. I have a routine which suspends a MHD connection and calls the following functions when it starts:
1. MHD_suspend_connection() 2. pthread_create() 3. pthread_detach() and the following when it finishes: 1. MHD_resume_connection() 2. *some callback()* 3. pthread_exit() but the server may be stopped by the user and return from main() before the stages 2 and 3 above get finished, however, the pthread_create(3) <https://linux.die.net/man/3/pthread_create> says: "*The new thread terminates in one of the following ways: - Any of the threads in the process calls exit(3), or the main thread performs a return from main(). This causes the termination of all threads in the process*". I thought it would be necessary to add some lockable list (with mutex) in the server to iterate all the threads and cancel them before finishing the server, but it seems I don't need it, since all the threads are already exited with main thread, and my application don't need to stop gracefully. So, can I follow using such design and run it in production? TIA for any suggestions! -- Silvio Clécio