On 11.05.2017 15:26, José Bollo wrote: > First, I just tried the latest commit > (787bfd1859db22c58271f287dfcb505c0052edd3): Do not add any "Connection" > headers for "upgrade" connections. > > My issue was still here but...
Strange, resuming connection are now resumed before any other processing.
Are you sure that there are no difference at all?
>> "At least one time" - correct approach.
>> May be more calls are required.
>
> But there is no way to get a status "should MHD_run be called again?".
> Oh "MHD_get_timeout" is maybe the answer! Does it return 0 in case of
> "loop again please"? It seems that yes.
>
> Test...
>
> Works by replacing MHD_run(h) by
>
> do { MHD_run(h); } while(MHD_get_timeout(h, &to) == MHD_YES && !to);
>
> To be honest, I was not handling the timeout because I had no idea that
> it had to drive a such loop. I was thinking it wasn't usefull when
> external epoll was used. I'm not sure to need it for something
> different of the above loop, detecting lazy transmitters can be treated
> lazyly IMHO.
Zero timeout means "need more immediately processing", for example if
more data is still waiting in network buffers.
No-zero timeouts usually generated when you set connection timeout so
MHD is able to close timed-out connections.
--
Wishes,
Evgeny
signature.asc
Description: OpenPGP digital signature
