Complementing, I have done some tests resuming at "position 1" and the
server doesn't lock. Should I use at that point? 🤔

(the MHD_resume_connection() inside ahc() in previous example was a typo)

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

> The CTRL-C / SIGTERM will be required by the application, so after this
> advice, I'm going to use a list with mutex and join (or cancel) the active
> threads before shutting down the server.
>
> Supposing this new design, what is the best point to call the "resume"
> function? For example:
>
> static void *thread_cb(void *cls) {
>   /* this is inside new thread */
>   struct req *r = cls;
>   // MHD_resume_connection(r->con); *// position 1*
>   r->cb(); *// possible long time processing data*
>   MHD_resume_connection(r->con); *// position 2*
>   return NULL;
> }
>
> int ahc(...) {
>   ...
>   MHD_suspend_connection(r->con);
>   ret = pthread_create(&thread, NULL, thread_cb, r);
>   return ret;
> }
>

-- 
Silvio Clécio

Reply via email to