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