[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [libmicrohttpd] Resume event blocking
From: |
Christian Grothoff |
Subject: |
Re: [libmicrohttpd] Resume event blocking |
Date: |
Wed, 3 Feb 2016 15:44:06 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 |
Thanks for the report. I've committed a fix along those lines, but
somewhat more aggressive to address similar other cases -- and more
portable -- as SVN 36890.
Happy hacking!
-Christian
On 02/02/2016 08:22 AM, 김현호 wrote:
> Hello,
>
>
>
> I am using MHD 0.9.48 version are working to create a cache server.
>
> I saw recently with the SUSPEND_RESUME for asynchronous processing if
> multiple connection at the same time to resume the write times of the
> pipe caused by an event occurs once and only once read in the rest of
> the pipe remains in the pipe queue.
>
> If you look up several times repeated in this way all the pipe fills up,
> it will not write anymore that block the phenomenon generated in the resume.
>
>
>
> Following the above problem it did not occur anymore after such
> modifications.
>
>
>
> diff -r libmicrohttpd-0.9.48/src/include/platform_interface.h
> my_0.9.48/src/include/platform_interface.h
>
> 163c163
>
> < #define MHD_pipe_(fdarr) pipe((fdarr))
>
> ---
>
>> #define MHD_pipe_(fdarr) pipe2((fdarr), O_NONBLOCK)
>
>
>
> diff -r libmicrohttpd-0.9.48/src/microhttpd/daemon.c
> my_0.9.48/src/microhttpd/daemon.c
>
> 2832c2832
>
> < (void) MHD_pipe_read_ (daemon->wpipe[0], &tmp, sizeof
> (tmp));
>
> ---
>
>> while (MHD_pipe_read_ (daemon->wpipe[0], &tmp, sizeof (tmp))
>> > 0) ;
>
>
>
>
>
> Best Regards
>
> Hyunho Kim
>
>
>
signature.asc
Description: OpenPGP digital signature