<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">The wiki page states the library can be compatible with various platforms: "It's a full autotools and optionally CMake based project that has been used in a variety of OS contexts including Linux (uclibc and glibc), ARM-based embedded boards, MIPS / OpenWRT, Windows, Android, Apple iOS and even Tivo."</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">I'm on a Mac and need to compile to:</div><div class="gmail_default" style><ul style><li style><font face="arial, helvetica, sans-serif">Mac 32/64</font></li><li style><font face="arial, helvetica, sans-serif">iOS 32/64</font></li><li style><font face="arial, helvetica, sans-serif">Android 32/64</font></li><li style><font face="arial, helvetica, sans-serif">Windows 32/64 (will use a virtual machine to build if necessary)</font></li></ul><div><font face="arial, helvetica, sans-serif">Do we have any cross compile scripts using Clang for these scenarios?</font></div><div><font face="arial, helvetica, sans-serif"><br></font></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Oct 27, 2014 at 1:01 AM, 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 27 October 2014 15:53:32 GMT+08:00, satya gowtham kudupudi <<a href="mailto:satyagowtham.k@gmail.com">satyagowtham.k@gmail.com</a>> wrote:<br>
>Running my application using libwebsockets library with valgrind for<br>
>100<br>
>seconds gave the below heap report:<br>
><br>
>==5248== HEAP SUMMARY:<br>
>==5248==     in use at exit: 27,338 bytes in 19 blocks<br>
>==5248==   total heap usage: 6,427 allocs, 6,409 frees, 22,189,389<br>
>bytes<br>
>allocated<br>
>==5248==<br>
>==5248== 27,302 bytes in 17 blocks are definitely lost in loss record 3<br>
>of 3<br>
>==5248==    at 0x402A17C: malloc (in<br>
>/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)<br>
>==5248==    by 0x4071E1C: lws_allocate_header_table (in<br>
>/usr/local/lib/libwebsockets.so.5.0.0)<br>
>==5248==    by 0x406E9EA: libwebsocket_read (in<br>
>/usr/local/lib/libwebsockets.so.5.0.0)<br>
>==5248==    by 0x4079AB6: lws_server_socket_service (in<br>
>/usr/local/lib/libwebsockets.so.5.0.0)<br>
>==5248==    by 0x40703C7: libwebsocket_service_fd (in<br>
>/usr/local/lib/libwebsockets.so.5.0.0)<br>
>==5248==    by 0x4078093: lws_plat_service (in<br>
>/usr/local/lib/libwebsockets.so.5.0.0)<br>
>==5248==    by 0x4070552: libwebsocket_service (in<br>
>/usr/local/lib/libwebsockets.so.5.0.0)<br>
>==5248==    by 0x8058F73: WSServer::heart(WSServer*)<br>
>(WSServer.cpp:1143)<br>
>==5248==    by 0x805CB5B: int std::_Bind_simple<int<br>
>(*(WSServer*))(WSServer*)>::_M_invoke<0u>(std::_Index_tuple<0u>)<br>
>(functional:1732)<br>
>==5248==    by 0x805CAA2: std::_Bind_simple<int<br>
>(*(WSServer*))(WSServer*)>::operator()() (functional:1720)<br>
>==5248==    by 0x805CA57: std::thread::_Impl<std::_Bind_simple<int<br>
>(*(WSServer*))(WSServer*)> >::_M_run() (thread:115)<br>
>==5248==    by 0x415EF4D: ??? (in<br>
>/usr/lib/i386-linux-gnu/libstdc++.so.6.0.19)<br>
>==5248==<br>
>==5248== LEAK SUMMARY:<br>
>==5248==    definitely lost: 27,302 bytes in 17 blocks<br>
>==5248==    indirectly lost: 0 bytes in 0 blocks<br>
>==5248==      possibly lost: 0 bytes in 0 blocks<br>
>==5248==    still reachable: 36 bytes in 2 blocks<br>
>==5248==         suppressed: 0 bytes in 0 blocks<br>
>==5248== Reachable blocks (those to which a pointer was found) are not<br>
>shown.<br>
>==5248== To see them, rerun with: --leak-check=full<br>
>--show-leak-kinds=all<br>
>==5248==<br>
>==5248== For counts of detected and suppressed errors, rerun with: -v<br>
>==5248== Use --track-origins=yes to see where uninitialised values come<br>
>from<br>
>==5248== ERROR SUMMARY: 348 errors from 10 contexts (suppressed: 0 from<br>
>0)<br>
><br>
>Running valgrind --leak-check=yes libwebsockets-test-server gave<br>
>following<br>
>report:<br>
><br>
>==5270== HEAP SUMMARY:<br>
>==5270==     in use at exit: 1,642 bytes in 3 blocks<br>
>==5270==   total heap usage: 3,331 allocs, 3,328 frees, 237,277 bytes<br>
>allocated<br>
>==5270==<br>
>==5270== 1,606 bytes in 1 blocks are definitely lost in loss record 3<br>
>of 3<br>
>==5270==    at 0x402A17C: malloc (in<br>
>/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)<br>
>==5270==    by 0x804F480: lws_allocate_header_table (in<br>
>/usr/local/bin/libwebsockets-test-server)<br>
>==5270==    by 0x805614E: lws_server_socket_service (in<br>
>/usr/local/bin/libwebsockets-test-server)<br>
>==5270==    by 0x804DBAB: libwebsocket_service_fd (in<br>
>/usr/local/bin/libwebsockets-test-server)<br>
>==5270==    by 0x8054743: lws_plat_service (in<br>
>/usr/local/bin/libwebsockets-test-server)<br>
>==5270==    by 0x804B5FC: main (in<br>
>/usr/local/bin/libwebsockets-test-server)<br>
>==5270==<br>
>==5270== LEAK SUMMARY:<br>
>==5270==    definitely lost: 1,606 bytes in 1 blocks<br>
>==5270==    indirectly lost: 0 bytes in 0 blocks<br>
>==5270==      possibly lost: 0 bytes in 0 blocks<br>
>==5270==    still reachable: 36 bytes in 2 blocks<br>
>==5270==         suppressed: 0 bytes in 0 blocks<br>
>==5270== Reachable blocks (those to which a pointer was found) are not<br>
>shown.<br>
>==5270== To see them, rerun with: --leak-check=full<br>
>--show-leak-kinds=all<br>
>==5270==<br>
>==5270== For counts of detected and suppressed errors, rerun with: -v<br>
>==5270== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)<br>
><br>
>Should I have to invoke any cleaning function after leaving<br>
>libwebsocket_service loop? Is there something like<br>
>lws_deallocate_header_table?<br>
<br>
</div></div>No, it should be taken care of at the connection close.<br>
<br>
But when you exit, you must destroy the lws context (which forces the remaining connections closed and cleans them up).<br>
<br>
If the leaks are real, can you associate them with anything you're particularly doing while it's running?<br>
<br>
-Andy<br>
<br>
>--<br>
>Gowtham<br>
><br>
><br>
>------------------------------------------------------------------------<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" 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" target="_blank">http://ml.libwebsockets.org/mailman/listinfo/libwebsockets</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><div><font size="1" face="tahoma, sans-serif"><b><span style="color:rgb(54,67,149)">Erik Holley</span></b></font></div><div><div><font size="1" face="tahoma, sans-serif">Principal Software Architect</font></div><div><font size="1" face="tahoma, sans-serif">Mobile and Media Development</font></div><div><font size="1" face="tahoma, sans-serif"><br></font></div></div><div><div><font size="1" face="tahoma, sans-serif">Office: <a>+1.801.565.3016</a></font></div><div><font size="1" face="tahoma, sans-serif">Mobile: <a>+1.801.201.9441</a></font></div></div><div><b><span style="color:rgb(54,67,149)"><font size="1" face="tahoma, sans-serif"><br></font></span></b></div><div><b><span style="color:rgb(54,67,149)"><font size="1" face="tahoma, sans-serif">Pearson</font></span></b></div><div><span style="color:rgb(54,67,149)"><font size="1" face="tahoma, sans-serif">Always
Learning</font></span></div><div><font size="1" face="tahoma, sans-serif"><span style="color:rgb(54,67,149)">Learn more at </span><a href="http://www.pearson.com" target="_blank">www.pearson.com</a></font></div><div><p><span style="font-size:9.0pt;color:#364395"></span></p>

</div></div>
</div>