Oh, sent accidentally by Ctrl+Enter with wrong subject. I meant: "Doubt
regarding suspended connection and pthread_exit".

On Mon, Mar 16, 2020 at 4:00 PM silvioprog <silviop...@gmail.com> wrote:

> 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

Reply via email to