<div dir="ltr">This could be the event leak problem. Check out the source and recompile, Andy has merged patches this evening.</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 14, 2015 at 8:25 PM, Andy Green <span dir="ltr"><<a href="mailto:andy@warmcat.com" target="_blank">andy@warmcat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
<br>
On 12 September 2015 01:56:41 GMT+09:00, Tor Krill <<a href="mailto:tor@openproducts.com">tor@openproducts.com</a>> wrote:<br>
>Hi,<br>
><br>
>A bit late on this matter but i think i'm seeing a similar problem.<br>
>This<br>
>is however on a x64 Linux computer.<br>
><br>
>I have a similar setup. A separate thread service the websocket library<br>
>(libwebsocket_service) and i process incoming data in that context.<br>
><br>
>But when i want to send data not triggered by some received data i do<br>
>this in another thread that queues a message and then signal<br>
>libwebsockets, via libwebsocket_callback_on_writable_all_protocol, that<br>
>there is data to be sent.<br>
><br>
>The libwebsockets thread then sends the data when it revecives the<br>
>LWS_CALLBACK_CLIENT_WRITEABLE reason in its callback.<br>
><br>
>This setup seems to work ok but i run in to a similar problem to that<br>
>shyam describes below.<br>
><br>
>Data won't be be sent until the libwebsocket_service times out. I.e. if<br>
>i do a:<br>
><br>
>libwebsocket_service( context, 1000);<br>
><br>
>it takes a second before any message is sent. I.e. the same time as the<br>
>timeout is set to. If i change the timeout, the delay before sending a<br>
>message is also changed.<br>
><br>
>When reading up on the documentation i see a<br>
><br>
>libwebsocket_cancel_service<br>
><br>
>Which indicates that it could interrupt the service routine?<br>
><br>
>Unfortunately the packaging of libsockets on my distro seems a bit old<br>
>and don't have that function call.<br>
<br>
</div></div>Yes you need this.  Because otherwise unless some action happens on the socketsin the poll() wait, there's no way for poll() to understand it should end the wait early.<br>
<span class="HOEnZb"><font color="#888888"><br>
-Andy<br>
</font></span><div class="HOEnZb"><div class="h5">><br>
>Am i doing things wrong here? Are there any other way to make the<br>
>service routine process the write request more immediately?<br>
><br>
>Best!<br>
><br>
>/Tor<br>
><br>
><br>
>On ons, 2015-08-26 at 12:38 +0000, shyam goyal wrote:<br>
>> Hi,<br>
>><br>
>><br>
>> I am using Libwebsockets library for real time communication in one<br>
>of<br>
>> my project. The library works extremely well on Windows and giving<br>
>> very good performance also. But I am seeing some problem on Mac.<br>
>There<br>
>> is always a delay of 20 seconds before the socket is available again<br>
>> for writing on Mac. I have registered the callback and waiting for<br>
>> "LWS_CALLBACK_CLIENT_WRITEABLE" before writing a new message on the<br>
>> socket. I am not able to figure it out why there is this consistent<br>
>> delay of 20 seconds.<br>
>><br>
>><br>
>> I am using lot of threads in my application while using the<br>
>> LIBWebSockets. There is one thread running the service loop, one<br>
>> thread writing the messages to the socket and the last thread to<br>
>> process the messages received by the socket from the server.<br>
>><br>
>><br>
>><br>
>> Please guide me how to resolve this. Do you think building the<br>
>> libwebsockets with LIBEV can be of some help?<br>
>><br>
>><br>
>> Regards:<br>
>> Shyam Sunder Goyal<br>
>> _______________________________________________<br>
>> Libwebsockets mailing list<br>
>> <a href="mailto:Libwebsockets@ml.libwebsockets.org">Libwebsockets@ml.libwebsockets.org</a><br>
>> <a href="http://ml.libwebsockets.org/mailman/listinfo/libwebsockets" rel="noreferrer" target="_blank">http://ml.libwebsockets.org/mailman/listinfo/libwebsockets</a><br>
<br>
_______________________________________________<br>
Libwebsockets mailing list<br>
<a href="mailto:Libwebsockets@ml.libwebsockets.org">Libwebsockets@ml.libwebsockets.org</a><br>
<a href="http://ml.libwebsockets.org/mailman/listinfo/libwebsockets" rel="noreferrer" target="_blank">http://ml.libwebsockets.org/mailman/listinfo/libwebsockets</a><br>
</div></div></blockquote></div><br></div>