Dear Viet, Thanks for the additional details. With your report, I was able to reproduce the issue (test_upgrade_large.c added) and fix it in bafd078984be5f846287107824eca99e6c6c42cc.
Happy hacking! Christian On 6/24/19 7:16 PM, Việt Nguyễn Xuân wrote: > Hi all, > > Sorry, I cannot reply your email, so I reply it here. > I'm sorry, for the moment I cannot provide the code for you. But you can > reproduce the issue by modify the src/microhttpd/test_upgrade.c, set the > connection memory limit to a very low value, for example 512, this > change should be made for HTTPS section. In the function "run_usock" and > "run_usock_client", please replace the test string "Hello World" by a > real larger string with length about 160 - 170 bytes. After that do a > make check and you will see the test_upgrade_tls test hang forever. > > Thanks, > Best regards, > Viet > > ------------------------------------------------------------------------ > *From:* Việt Nguyễn Xuân > *Sent:* Sunday, June 23, 2019 11:28 AM > *To:* libmicrohttpd@gnu.org > *Subject:* [libmicrohttpd]Problem send large trunk of data over upgraded > connection with epoll and https enabled > > Hi All, > > I'm using libmicrohttpd to implement a WebSocket server based on HTTP > Upgrade connection. > I'm using latest git revision of this library for my work. > Everything works well for small message passes over upgraded connection, > I tested with Chrome and Firefox browsers and they are all Ok. > But I have a trouble when sending large trunk of message to the server, > if the size of message is larger than 1/3 connection buffer size, it's > very often that this message will be queued for next send or is not sent > at all. For smaller messages, they will be sent and received immediately. > > This issue only happens when I enable HTTPs combine with EPOLL internal > thread, for other combination it seems that this issue does not happen. > For example I can send large message normally with HTTPS + POLL internal > thread or with HTTP + EPOLL internal thread. > > Could you please check this issue for me? > Thanks a lot. > > Viet
signature.asc
Description: OpenPGP digital signature